Skip to content

Post

A Post is something a Handle publishes, such as a thread or a short video, with the reach and replies it earns.

Properties

PropertyTypeRequiredDescription
formatstringrequiredThe venue’s format, such as shortVideo or thread.
publishAtdatetimeWhen it goes out.
statusstringrequiredWhere it stands; a withdrawn Post is kept with its reach and replies.
claimsjsonThe facts it states, each resolving to a record.
reachintegerHow many people saw it, as the venue reports.

Object

JSON
{
  "$id": "https://api.sb/quietcopy.com/posts/post_1",
  "$type": "Post",
  "format": "Example format",
  "publishAt": "2026-10-22T12:00:00Z",
  "status": "draft",
  "claims": {},
  "reach": 1
}

Relationships

  • A Post has one Handle: every Post goes out from one Handle, so its reach and replies count toward that Handle. handle, inverse publishes.

Lifecycle

Post lifecycle: draft, scheduled, published, withdrawn (ends)draft → scheduled: Post.scheduledraft → published: Post.publishscheduled → published: Post.publishpublished → withdrawn: Post.withdrawdraftscheduledpublishedwithdrawn
StateMeaningMoves to
draft (first)Written and not on its Handle’s calendar.scheduled by Post.schedule; published by Post.publish
scheduledOn its Handle’s calendar for publishAt.published by Post.publish
publishedLive on its venue, earning reach and replies.withdrawn by Post.withdraw
withdrawnTaken down from its venue, with its record, reach and replies kept.None: it ends here.

Verbs

  1. createCreates a Post.
    POST /{namespace}/postsdoPost.created
  2. getReturns one Post by id.
    GET /{namespace}/posts/{id}readNo Event
  3. listReturns Posts, newest first, one page at a time.
    GET /{namespace}/postsreadNo Event
  4. updateChanges the given properties of a Post.
    PATCH /{namespace}/posts/{id}doPost.updated
  5. publishPublish sends a Post out through its Handle once every claim it states resolves to a live record.
    POST /{namespace}/posts/{post}/publishdoPost.published
  6. scheduleSchedule puts a drafted Post on its Handle’s calendar for a set time.
    POST /{namespace}/posts/{post}/scheduledoPost.scheduled
  7. withdrawWithdraw takes a published Post down from its venue and keeps the record, its reach and its replies.
    POST /{namespace}/posts/{post}/withdrawdoPost.withdrawn

A Post is never deleted: it ends by Post.withdraw, and its records stay.

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Post.createYesYesYesNo
Post.getYesYesYesYes
Post.listYesYesYesYes
Post.updateYesYesYesNo
Post.publishYesNoNoNo
Post.scheduleYesYesYesNo
Post.withdrawYesNoNoNo

Call it

Text
Schedule the latest post.

Example

A gardening app's Handle publishes a thread on frost dates at 7 a.m. Its one claim resolves to a dataset record, and it reaches 12,000 people with 40 replies.