API reference
Retrieve the authors in your ContioReach workspace.
Use it to build author pages and bylines, or to resolve an author slug before requesting their posts.
curl "https://cms-api.contioreach.com/v1/authors" \
-H "X-API-Key: YOUR_API_KEY"| Parameter | Type | Description |
|---|---|---|
| page | number | Page of results to return. Starts at 1. |
| limit | number | Authors per page. |
| id | string | Return the single author matching this id. |
| slug | string | Return the single author matching this slug. |
{
"success": true,
"data": [
{
"id": "ffb69c16-be70-47f1-b206-d7464c0bdbd5",
"name": "Team Contioreach",
"slug": "team-contioreach",
"image": "https://contiocdn.com/…/author.webp",
"bio": "Team Contioreach publishes expert content on SEO, AI search, content strategy, and automation…",
"twitter": null,
"website": null,
"postCount": 64
}
],
"meta": {
"page": 1,
"limit": 1,
"total": 1,
"totalPages": 1,
"hasNextPage": false,
"hasPrevPage": false
}
}| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier. |
| name | string | Display name. |
| slug | string | URL-safe identifier for your author route. |
| image | string | null | Absolute URL of the author avatar. |
| bio | string | null | Short biography. |
| string | null | Twitter or X handle. | |
| website | string | null | Personal or company website. |
| postCount | number | Number of published posts by the author. |
twitter, website, image, and bio can all be null. Render bylines and author cards so a missing field collapses rather than leaving a gap.
The same author objects appear inline on every post, in the authors array, minus postCount. If you are already fetching the article, read post.authors[0] for the byline instead of making a second request.
const res = await fetch(
"https://cms-api.contioreach.com/v1/authors",
{ headers: { "X-API-Key": process.env.CMS_API_KEY } }
);
const { data: authors } = await res.json();const authorRes = await fetch(
`https://cms-api.contioreach.com/v1/authors?slug=${slug}`,
{ headers: { "X-API-Key": process.env.CMS_API_KEY } }
);
const author = (await authorRes.json()).data[0];
if (!author) notFound();
const postsRes = await fetch(
`https://cms-api.contioreach.com/v1/blogs?author=${slug}&limit=12&minimal=true`,
{ headers: { "X-API-Key": process.env.CMS_API_KEY } }
);
const { data: posts, meta } = await postsRes.json();const author = post.authors?.[0] || null;
// author.name, author.image, author.bio| Status | Code | Meaning |
|---|---|---|
| 401 | INVALID_API_KEY | The API key is missing, incorrect, or inactive. |
| 429 | USAGE_LIMIT_EXCEEDED | Your plan's monthly API calls are used up. Requests resume when the allowance resets. |
A slug that matches nothing returns 200 with an empty data array rather than a 404, so check the array length before rendering.
Was this page helpful?