Body Parameters
Array of post UUIDs (minimum 1, maximum 50). Duplicates are removed before
processing. The API accepts both
postIds (preferred) and the snake_case
alias post_ids.All IDs must belong to the authenticated workspace or a workspace delegated to
the key. IDs outside your scope are treated as
skipped.Status Guardrails
- Deletable:
draft,pending,scheduled,retry,failed - Blocked:
posted,canceled,partial
posted) or that have been canceled /
partially published are immutable. They are returned inside
blockedStatuses so you can surface the exact status that blocked deletion.
Response
IDs that were permanently removed. Order matches the request order after
duplicates are stripped.
Entries of
{(id, status)} describing posts that failed the status guardrail.IDs that were not found under the workspace scope (already deleted, outside
the workspace, or never existed).
Optional. Keyed by post ID when the database delete fails. A batch can still
return
200 with a populated errors map.Request Example
Response Example
Error Responses
400 invalid_json— body is not valid JSON422 invalid_payload— missing/invalidpostIds400 too_many_post_ids— more than 50 IDs supplied401/403— authentication failed or the key lacks workspace access500 bulk_delete_failed— unexpected server error (all attempted IDs are still reported in the response body when possible)
