Publisher ​
| Workflow | Type | Description |
|---|---|---|
| publisher.calendar.list | Atomic | List posts between two dates with their status — draft, waiting, scheduled, live, needs_changes, failed. Pure DB read. |
| publisher.cover_kit.add-asset | Atomic | Add a named cover image to a kit under a role, optionally making it the kit's default for that role. |
| publisher.cover_kit.archive | Atomic | Archive a cover kit. Refuses while a live profile still draws covers from it. Idempotent when already archived. |
| publisher.cover_kit.remove-asset | Atomic | Remove a cover from its kit. Idempotent when already removed. |
| publisher.cover_kit.upsert | Atomic | Create or rename a cover kit — a named set of brand images a profile draws its covers from. |
| publisher.org_settings.get | Atomic | Read the organization's default media reviewer. Pure DB read. |
| publisher.org_settings.upsert | Atomic | Set the organization's default media reviewer — who approves posts when a profile names nobody. |
| publisher.post.create-with-approval | Atomic | Draft a post from a publisher profile and open a review envelope. Publishes nothing — a human approves first (SOCIAL-004). |
| publisher.post.publish-due | Atomic | Publish posts whose review envelope was approved and whose scheduled time has arrived. Idempotent; safe to run on a schedule. |
| publisher.profile.archive | Atomic | Archive a publisher profile. Soft — post history is kept and the name is freed for reuse. Refuses while posts are awaiting review or queued. |
| publisher.profile.upsert | Atomic | Create or update a publisher profile — a named brand look binding accounts, a cover kit, and posting defaults. |
| publisher.review.decide | Atomic | Approve a post or send it back for changes. Approving does not publish — the post goes out on its schedule, or on the next sweep. |
| publisher.review.list | Atomic | List posts awaiting review or returned for changes, with the fields Media Review renders. Pure DB read. |
| publisher.snapshot | Atomic | Posts waiting on review, the next 7 days, disconnected accounts, and profiles missing covers — one round trip. Pure DB read. |
