List workspace approvals
List all approval requests across the workspace in one paginated stream. Use for incremental sync by external integrations instead of polling each post individually. Supports keyset pagination and filters by status, post, approver, requester, and date range. Approvals on archived posts are included; filter client-side with post.archivedAt. Soft-deleted approvals are omitted from results.
/approvalsAuthorizationBearer token · headerrequiredAPI key authentication. Generate an API key from your workspace settings.
limitintegerMaximum number of approvals to return (1-100)
cursorstringPagination cursor from the previous response's nextCursor. Format is timestampMs:approvalId. When paginating, pass the same sortBy and sortOrder as the initial request.
sortBystringField to sort results by. Use updatedAt for incremental sync so newly-updated approvals stream in order.
createdAtupdatedAtsortOrderstringSort order. Use asc with sortBy=updatedAt for incremental sync.
ascdescupdatedAtMinstring<date-time>Return approvals updated at or after this time. Pair with sortBy=updatedAt and sortOrder=asc for incremental sync from a saved checkpoint.
updatedAtMaxstring<date-time>Return approvals updated at or before this time.
createdAtMinstring<date-time>Return approvals created at or after this time.
createdAtMaxstring<date-time>Return approvals created at or before this time.
statusesstring[]Filter by approval statuses. Repeat the parameter to match any of multiple values.
postIdsstring<uuid>[]Filter by post IDs. Repeat the parameter to match any of multiple values.
approverIdsstring<uuid>[]Filter by approver user IDs. Repeat the parameter to match any of multiple values.
requestedByIdsstring<uuid>[]Filter by IDs of users who requested the approval. Repeat the parameter to match any of multiple values.
Paginated list of workspace approvals
approvalsWorkspaceApproval[]Show propertiesHide properties
WorkspaceApprovalidstring<uuid>statusstringRequestedApprovedisBlockingbooleanWhether the post is blocked from publishing until this approval is granted
messagestring | nulldueDatestring<date-time> | nullapprovedAtstring<date-time> | nullcreatedAtstring<date-time>updatedAtstring<date-time>Last time the approval changed. Use with updatedAtMin and sortBy=updatedAt for incremental sync.
postIdstring<uuid>approverApprovalUserShow propertiesHide properties
idstring<uuid>emailstring<email>firstNamestring | nulllastNamestring | nullcreatedAtstring<date-time>requestedByApprovalUserShow propertiesHide properties
idstring<uuid>emailstring<email>firstNamestring | nulllastNamestring | nullcreatedAtstring<date-time>postobjectSummary of the post this approval belongs to
Show propertiesHide properties
idstring<uuid>urlstring<uri>Deep link to the post in the Ordinal dashboard
titlestringstatusPostStatusTentativeToDoInProgressForReviewBlockedFinalizedScheduledPostedchannelsstring[]Channels the post targets (for example LinkedIn, Twitter)
publishDatestring | nullScheduled publish date (YYYY-MM-DD) in the workspace timezone, when set
publishAtstring<date-time> | nullScheduled publish timestamp when a specific time is set
isIdeabooleanWhether the post is an idea rather than a scheduled or published post
archivedAtstring<date-time> | nullWhen the post was archived, if applicable
nextCursorstring | nullCursor for the next page, or null when there are no more results
hasMorebooleanWhether more approvals are available
Bad Request - Invalid input parameters
codestringmessagestringdataobjectShow propertiesHide properties
errorsobjectUnauthorized - Missing or invalid API key
codestringmessagestringForbidden - Insufficient permissions
codestringmessagestring