Blog Authors require blog scopes. Reads use read_blog; writes use write_blog. Names and slugs are store-scoped, avatars reference uploaded image media, and deleting an author detaches assigned posts without deleting them.
Endpoints#
Blog Author limits
Fetch blog author limits.
Returns field, pagination, search, and store caps from the canonical contract.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
List blog authors
List store blog authors.
Returns a strictly paginated list. Search and sorting are validated against the canonical contract.
Query parameters
| Name | Type | Description |
|---|---|---|
page
|
integer |
Page number. |
limit
|
integer |
Page size. |
search
|
string |
Search by name or slug. |
sort_by
|
string |
Sort field.
Allowed values
namepost_countupdated_at |
sort_direction
|
string |
Sort direction.
Allowed values
ascdesc |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Get a blog author
Fetch one blog author.
Returns the author when it belongs to the token's store.
Path parameters
| Name | Type | Description |
|---|---|---|
id
required
|
uuid |
Blog Author id. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
404BLOG_AUTHOR_NOT_FOUNDBlog Author does not exist in this store.
-
400BLOG_AUTHOR_NAME_REQUIREDName is required.
-
400BLOG_AUTHOR_NAME_TOO_LONGName exceeds the contract limit.
-
400BLOG_AUTHOR_BIO_TOO_LONGBio exceeds the contract limit.
-
400BLOG_AUTHOR_LIMIT_REACHEDThe store author limit has been reached.
Create a blog author
Create a store-scoped blog author.
The backend generates the slug from name. Avatar must reference an image in this store.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Body parameters
| Name | Type | Description |
|---|---|---|
name
required
|
string |
Author display name. |
bio
|
string |
Author biography. |
avatar_media_id
|
uuid |
Image media id; null clears on update. |
Errors
-
404BLOG_AUTHOR_NOT_FOUNDBlog Author does not exist in this store.
-
400BLOG_AUTHOR_NAME_REQUIREDName is required.
-
400BLOG_AUTHOR_NAME_TOO_LONGName exceeds the contract limit.
-
400BLOG_AUTHOR_BIO_TOO_LONGBio exceeds the contract limit.
-
400BLOG_AUTHOR_LIMIT_REACHEDThe store author limit has been reached.
Update a blog author
Update one blog author.
Omitted fields are unchanged. Renaming regenerates the backend-owned slug.
Path parameters
| Name | Type | Description |
|---|---|---|
id
required
|
uuid |
Blog Author id. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Body parameters
| Name | Type | Description |
|---|---|---|
name
|
string |
Author display name. |
bio
|
string |
Author biography. |
avatar_media_id
|
uuid |
Image media id; null clears on update. |
Errors
-
404BLOG_AUTHOR_NOT_FOUNDBlog Author does not exist in this store.
-
400BLOG_AUTHOR_NAME_REQUIREDName is required.
-
400BLOG_AUTHOR_NAME_TOO_LONGName exceeds the contract limit.
-
400BLOG_AUTHOR_BIO_TOO_LONGBio exceeds the contract limit.
-
400BLOG_AUTHOR_LIMIT_REACHEDThe store author limit has been reached.
Delete a blog author
Delete one blog author.
Deleting an author detaches assigned posts; it does not delete them.
Path parameters
| Name | Type | Description |
|---|---|---|
id
required
|
uuid |
Blog Author id. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
404BLOG_AUTHOR_NOT_FOUNDBlog Author does not exist in this store.
-
400BLOG_AUTHOR_NAME_REQUIREDName is required.
-
400BLOG_AUTHOR_NAME_TOO_LONGName exceeds the contract limit.
-
400BLOG_AUTHOR_BIO_TOO_LONGBio exceeds the contract limit.
-
400BLOG_AUTHOR_LIMIT_REACHEDThe store author limit has been reached.
Fields#
Field |
Kind |
Create |
Update |
Required |
Translatable |
|---|---|---|---|---|---|
|
text |
Yes |
Yes |
create |
No |
|
slug |
No |
No |
No |
|
|
textarea |
Yes |
Yes |
No |
|
|
image |
Yes |
Yes |
No |
|
|
integer |
No |
No |
No |
|
|
datetime |
No |
No |
No |
|
|
datetime |
No |
No |
No |
Webhook events#
Blog Author webhook events are declared by the Blog Author resource contract. The event cards below include the topic, subscription scope, store permission, payload schema, and sample payload.
Blog author created
Fired when a blog author is created.
Payload fields
| Field | Type | Description |
|---|---|---|
blog_author.id |
string |
Always present |
blog_author.name |
string |
Can be removed/added via the Payload builder |
blog_author.slug |
string |
Can be removed/added via the Payload builder |
blog_author.bio |
string |
Can be removed/added via the Payload builder |
blog_author.avatar_url |
string |
Can be removed/added via the Payload builder |
blog_author.created_at |
string |
Can be removed/added via the Payload builder |
Blog author updated
Fired when a blog author is updated.
Payload fields
| Field | Type | Description |
|---|---|---|
blog_author.id |
string |
Always present |
blog_author.name |
string |
Can be removed/added via the Payload builder |
blog_author.slug |
string |
Can be removed/added via the Payload builder |
blog_author.bio |
string |
Can be removed/added via the Payload builder |
blog_author.avatar_url |
string |
Can be removed/added via the Payload builder |
blog_author.created_at |
string |
Can be removed/added via the Payload builder |
Blog author deleted
Fired when a blog author is deleted.
Payload fields
| Field | Type | Description |
|---|---|---|
blog_author.id |
string |
Always present |
blog_author.name |
string |
Can be removed/added via the Payload builder |
blog_author.slug |
string |
Can be removed/added via the Payload builder |