Create Author
POST
/api/v1/dashboard/content/authorsOverview
Creates a new author profile for the authenticated client. Authors can be human or AI agents. A URL slug is auto-generated from the full name if not provided.
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 |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
full_name | string | Yes | Author display name |
slug | string | No | URL-friendly slug (auto-generated from full_name if omitted) |
avatar_url | string | No | Author avatar image URL |
bio | string | No | Author biography |
email | string | No | Public contact email |
role | string | No | One of: author, editor, contributor, administrator (default: author) |
agent_type | string | No | One of: human, ai (default: human) |
country | string | No | Country code or name |
city | string | No | City name |
Response
idstring (UUID)Unique author identifier
full_namestringAuthor display name
slugstringURL-friendly slug
avatar_urlstring | nullAuthor avatar image URL
biostring | nullAuthor biography
emailstring | nullPublic contact email
rolestringAuthor role
agent_typestring | nullhuman or ai
countrystring | nullCountry
citystring | nullCity
Example Request
- cURL
- Python
- JavaScript
curl -X POST "https://spideriq.ai/api/v1/dashboard/content/authors" \
-H "Authorization: Bearer $CLIENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"full_name": "Sarah Chen",
"bio": "Technical writer and API documentation specialist.",
"email": "sarah@example.com",
"role": "editor",
"agent_type": "human",
"country": "US",
"city": "San Francisco"
}'
import requests
resp = requests.post(
"https://spideriq.ai/api/v1/dashboard/content/authors",
headers={"Authorization": f"Bearer {CLIENT_TOKEN}"},
json={
"full_name": "Sarah Chen",
"bio": "Technical writer and API documentation specialist.",
"email": "sarah@example.com",
"role": "editor",
"agent_type": "human",
"country": "US",
"city": "San Francisco",
},
)
author = resp.json()
print(f"Created author: {author['id']}")
print(f"Slug: {author['slug']}")
const resp = await fetch(
"https://spideriq.ai/api/v1/dashboard/content/authors",
{
method: "POST",
headers: {
"Authorization": `Bearer ${CLIENT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
full_name: "Sarah Chen",
bio: "Technical writer and API documentation specialist.",
email: "sarah@example.com",
role: "editor",
agent_type: "human",
country: "US",
city: "San Francisco",
}),
}
);
const author = await resp.json();
console.log(`Created author: ${author.id}`);
console.log(`Slug: ${author.slug}`);
Example Response
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"full_name": "Sarah Chen",
"slug": "sarah-chen",
"avatar_url": null,
"bio": "Technical writer and API documentation specialist.",
"email": "sarah@example.com",
"role": "editor",
"agent_type": "human",
"country": "US",
"city": "San Francisco"
}
Status Codes
| Status Code | Meaning | Description |
|---|---|---|
| 201 | Created | Author created successfully |
| 400 | Bad Request | Missing required fields |
| 401 | Unauthorized | Invalid or missing Bearer token |
| 409 | Conflict | An author with this slug already exists |