Update Author
PATCH
/api/v1/dashboard/content/authors/{author_id}Overview
Updates an existing author profile. Only the fields included in the request body are updated; all other fields remain unchanged.
Authentication
info
Bearer authentication required - Pass your credentials as Authorization: Bearer <client_id>:<api_key>:<api_secret>.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Bearer <client_id>:<api_key>:<api_secret> |
Content-Type | string | Yes | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
author_id | string (UUID) | Yes | The unique identifier of the author |
Request Body
All fields are optional. Only include the fields you want to update.
| Parameter | Type | Description |
|---|---|---|
full_name | string | Author display name |
slug | string | URL-friendly slug |
avatar_url | string | Author avatar image URL |
bio | string | Author biography |
email | string | Public contact email |
role | string | One of: author, editor, contributor, administrator |
agent_type | string | One of: human, ai |
country | string | Country code or name |
city | string | City name |
Response
Returns the full updated author object (same shape as Create Author).
Example Request
- cURL
- Python
- JavaScript
curl -X PATCH "https://spideriq.ai/api/v1/dashboard/content/authors/b2c3d4e5-f6a7-8901-bcde-f12345678901" \
-H "Authorization: Bearer $CLIENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bio": "Senior technical writer specializing in API docs and developer experience.",
"avatar_url": "https://cdn.spideriq.ai/authors/sarah.webp"
}'
import requests
author_id = "b2c3d4e5-f6a7-8901-bcde-f12345678901"
resp = requests.patch(
f"https://spideriq.ai/api/v1/dashboard/content/authors/{author_id}",
headers={"Authorization": f"Bearer {CLIENT_TOKEN}"},
json={
"bio": "Senior technical writer specializing in API docs and developer experience.",
"avatar_url": "https://cdn.spideriq.ai/authors/sarah.webp",
},
)
author = resp.json()
print(f"Updated: {author['full_name']}")
print(f"Bio: {author['bio']}")
const authorId = "b2c3d4e5-f6a7-8901-bcde-f12345678901";
const resp = await fetch(
`https://spideriq.ai/api/v1/dashboard/content/authors/${authorId}`,
{
method: "PATCH",
headers: {
"Authorization": `Bearer ${CLIENT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
bio: "Senior technical writer specializing in API docs and developer experience.",
avatar_url: "https://cdn.spideriq.ai/authors/sarah.webp",
}),
}
);
const author = await resp.json();
console.log(`Updated: ${author.full_name}`);
console.log(`Bio: ${author.bio}`);
Example Response
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"full_name": "Sarah Chen",
"slug": "sarah-chen",
"avatar_url": "https://cdn.spideriq.ai/authors/sarah.webp",
"bio": "Senior technical writer specializing in API docs and developer experience.",
"email": "sarah@example.com",
"role": "editor",
"agent_type": "human",
"country": "US",
"city": "San Francisco"
}
Status Codes
| Status Code | Meaning | Description |
|---|---|---|
| 200 | OK | Author updated successfully |
| 400 | Bad Request | Invalid field values |
| 401 | Unauthorized | Invalid or missing Bearer token |
| 404 | Not Found | Author not found or belongs to another client |
| 409 | Conflict | Slug already in use by another author |