POST /public/v1/posts
Schedule a new post or save it as a draft. A single request can target multiple connected channels at once — each channel entry in theposts array receives its own content block.
Request body
The post disposition. Use
"schedule" to publish at a specific time, or "draft" to save without scheduling.The target publish time in ISO 8601 format (e.g.
"2025-01-15T10:00:00"). Required when type is "schedule". The time is interpreted in UTC unless an offset is included.An array of channel-post objects. Each entry targets one connected channel and carries its own content.
The ID of the connected channel to post to. Retrieve channel IDs from
GET /public/v1/integrations.An array of content objects. Most platforms take a single entry; some (e.g. carousel formats) accept multiple.
The text body of the post.
An optional array of media IDs returned by
POST /public/v1/upload. Pass the id field from the upload response.Example
Response
To include an image in your post, first upload it with
POST /public/v1/upload and then pass the returned id in the image array.GET /public/v1/posts
Retrieve a paginated list of posts for your organization. Results include scheduled, drafted, and published posts.Query parameters
The page number to return. Zero-indexed — pass
0 for the first page. Defaults to 0.The number of results to return per page. Defaults to
20.Example
Response
DELETE /public/v1/posts/:id
Delete a post by its ID. Deleting a scheduled post removes it from the publishing queue. Deleting an already-published post removes it from Volta’s records but does not remove the content from the social platform.Path parameters
The unique identifier of the post to delete. Use the
id field returned when creating a post or from GET /public/v1/posts.Example
Response
A successful deletion returns HTTP200 with an empty body or a confirmation object.
