> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skayle.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Authors

> List authors and fetch single author resources.

## Endpoints

```bash theme={null}
GET /authors
GET /authors/:id-or-slug
```

Taxonomy scope:

* Authors are scoped to a content collection.
* Omitting `collection` keeps the backward-compatible `articles` scope.
* Pass a collection preset or slug with `collection`, for example `?collection=guides`.
* Categories and tags remain exclusive to the `articles` collection.

## List query parameters

| Parameter    | Type    | Default    | Description                                        |
| ------------ | ------- | ---------- | -------------------------------------------------- |
| `page`       | integer | `1`        | Page number                                        |
| `per_page`   | integer | `10`       | Items per page                                     |
| `search`     | string  | -          | Search by name, slug, or bio                       |
| `collection` | string  | `articles` | Collection preset or slug                          |
| `orderby`    | string  | `name`     | Sort by `name`, `slug`, `id`, `date`, `created_at` |
| `order`      | string  | `desc`     | `asc` or `desc`                                    |
| `_fields`    | string  | -          | Comma-separated attribute field filter             |

## Example list request

```bash theme={null}
curl "https://api.skayle.ai/v1/ORG_ID/authors?orderby=name&order=asc"
curl "https://api.skayle.ai/v1/ORG_ID/authors?collection=guides&orderby=name&order=asc"
```

## Example list response

```json theme={null}
{
  "data": [
    {
      "id": "author_01HZ...",
      "type": "authors",
      "attributes": {
        "name": "Alex Jordan",
        "slug": "alex-jordan",
        "bio": "SEO lead focused on B2B SaaS growth.",
        "avatar_url": "https://cdn.example.com/avatar.jpg",
        "social_links": {
          "linkedin": "https://www.linkedin.com/in/alex-jordan"
        },
        "auto_assign_description": "Assign for technical SEO and strategy topics.",
        "post_count": 12,
        "collection_preset_id": "articles",
        "collection_slug": "articles",
        "created_at": "2025-12-20T07:30:00.000Z",
        "updated_at": "2026-02-01T11:20:00.000Z"
      },
      "relationships": {
        "articles": {
          "data": null,
          "links": {
            "related": "/v1/ORG_ID/articles?authors=author_01HZ..."
          }
        }
      },
      "links": {
        "self": "/v1/ORG_ID/authors/author_01HZ..."
      }
    }
  ],
  "meta": {
    "total": 4,
    "per_page": 10,
    "page": 1
  }
}
```

## Example single request

```bash theme={null}
curl "https://api.skayle.ai/v1/ORG_ID/authors/alex-jordan"
curl "https://api.skayle.ai/v1/ORG_ID/authors/alex-jordan?collection=guides"
```

## Single not found

```json theme={null}
{
  "errors": [
    {
      "status": "404",
      "title": "Not Found",
      "detail": "Author with id or slug \"alex-jordan\" not found"
    }
  ]
}
```

## Response field descriptions

| Field                                       | Type           | Description                                                     |
| ------------------------------------------- | -------------- | --------------------------------------------------------------- |
| `data[].id`                                 | string         | Author ID                                                       |
| `data[].type`                               | string         | Resource type (`authors`)                                       |
| `data[].attributes.name`                    | string         | Author display name                                             |
| `data[].attributes.slug`                    | string         | Author slug                                                     |
| `data[].attributes.bio`                     | string \| null | Author bio                                                      |
| `data[].attributes.avatar_url`              | string \| null | Avatar image URL                                                |
| `data[].attributes.social_links`            | object \| null | Social links                                                    |
| `data[].attributes.auto_assign_description` | string \| null | Auto-assignment guidance text                                   |
| `data[].attributes.post_count`              | number         | Published item count for this author in the selected collection |
| `data[].attributes.collection_preset_id`    | string         | Selected collection preset                                      |
| `data[].attributes.collection_slug`         | string         | Selected collection slug                                        |
| `data[].attributes.created_at`              | string         | ISO datetime                                                    |
| `data[].attributes.updated_at`              | string         | ISO datetime                                                    |
| `data[].relationships.articles`             | object         | Related filtered article feed when `collection=articles`        |
| `data[].relationships.items`                | object         | Related filtered item feed for a non-article collection         |
| `meta.total`                                | number         | Total authors                                                   |
| `meta.per_page`                             | number         | Page size                                                       |
| `meta.page`                                 | number         | Current page                                                    |

## Filtering and pagination

* `search` filters by author name, slug, and bio.
* `collection` scopes authors, counts, links, and slug lookup to one collection.
* `page` and `per_page` control pagination.
* `orderby` and `order` control sorting.

## Error responses

* `404` when single author ID/slug is not found.
