Posts

Edit a draft post

Updates a post that is still in draft status; once scheduled or published it can no longer be edited and this returns 409. Every field is optional and omitted fields are left untouched. Send null for mediaUrls or coverR2Key to clear them. title, description and hashtags are merged into the post's metadata rather than replacing it wholesale. Changing mediaUrls clears the Bluesky alt text on accounts that publish the post's files, since each entry describes a file by its position; labels stay.

patch/posts/{postId}

Request

  • Base URL: https://www.juzpost.com/api/cli/v1
  • URL: https://www.juzpost.com/api/cli/v1/posts/{postId}
  • Auth: HTTP bearer

Path parameters

postIdstring uuid required

Id of the post, as returned by POST /posts or GET /posts.

Request body

contentstring

Replacement post body or caption, up to 2200 characters.

mediaUrlsstring[] nullable

Replacement list of storage keys, or null to remove all media. Replaces the existing list entirely rather than appending to it.

titlestring

Replacement title, merged into the post's metadata.

descriptionstring

Replacement description, merged into the post's metadata.

hashtagsstring[]

Replacement hashtag list, merged into the post's metadata. Replaces the previous list entirely. Do not include the leading #.

type'text' | 'image' | 'video' | 'story' | 'blog'

What kind of content the post carries. Anything other than text and blog must have at least one media key before it can be scheduled. blog is a WordPress blog post: title is required and description is the body, HTML sent as written (plain text works, blank lines become paragraphs). The first image is the featured image and any others are added under the body. Images only.

coverR2Keystring nullable

Replacement cover image storage key, or null to clear the cover.

Response

Draft updated.

idstring uuid required

The post id.

Changes

No recorded changes to this operation across all 1 revision of this API.