v1
latestOpenAPI 3.0.02026-08-069339.5 KBPost story
Posts a story to your Roam. Stories are short photo or video updates that appear above your profile picture for your teammates, and expire 24 hours after posting.
Posting Flow
- Create the media asset with asset.create using purpose: "story", and upload the file bytes using the returned upload instructions.
- Call this endpoint with the assetId (and an optional caption).
The media must be a photo or a video (videos up to 2.5 minutes; media is optimized to portrait 1080×1920). If the upload is still processing — typical for videos in the first seconds after upload — this endpoint returns a 400 with a "still processing" message; retry after a short delay.
The media must outlive the story's 24-hour lifetime, so post within about 23 hours of creating the asset (story assets expire about 48 hours after creation); older assets are rejected and must be recreated.
Access: Personal only. Stories are always posted as the authenticated user — a story appears above your profile picture, and there is no bot persona surface for stories — so organization tokens are rejected.
Required scope: chat:send_message or chat:write (the same permission that gates sending a chat message)
OpenAPI Spec: openapi.json
Request body
Response
The story was posted.