Post author and tag assignments
Assign authors and tags when saving a post. The post API stores ordered UUID
lists, while public read responses expose only each relation's slug and
name.
Authentication
POST /post/save requires a bearer token with post.save in the selected
publication. The caller must also have access to every referenced author and
tag through that publication boundary.
Request fields
| Field | Required | Type | Description |
|---|---|---|---|
post_id |
Yes for an existing post | UUID | Existing post to update. |
publication_id / publication_slug |
Required when creating | UUID / String | Selects the publication. |
author_ids |
No | UUID array | Ordered complete replacement of the post's author assignments. |
tag_ids |
No | UUID array | Ordered complete replacement of the post's tag assignments. |
Omit a relation field to keep the existing assignments. Send an empty array to remove every assignment of that type. Every UUID must identify a record in the post's publication; unknown or cross-publication IDs are rejected.
curl -sS https://api.blog.service.m7.org/v1/post/save \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"post_id":"POST_UUID",
"author_ids":["AUTHOR_UUID_1","AUTHOR_UUID_2"],
"tag_ids":["TAG_UUID_1","TAG_UUID_2"]
}'
The saved management post exposes author_ids and tag_ids. Public post
summaries, previews, and reads expose these fields instead:
{
"authors": [{ "slug": "ada-lovelace", "name": "Ada Lovelace" }],
"tags": [{ "slug": "release-notes", "name": "Release Notes" }]
}
An author or tag cannot be deleted while it remains assigned to a post. Use an updated post save request first, then retry the deletion.