Revoke a pending invite (preview, then confirm)
Owner or admin; only the owner revokes an admin invite. The invite link stops working and the seat is freed. Pass confirm=true&preview_id=... as query parameters to act. Two steps. Without confirm: true the call returns 200 with requires_confirmation, a plain-language preview and a short-lived preview_id, and changes nothing. Show the preview to the user; after they approve, repeat the call with confirm: true and the preview_id. If anything changed in between, the confirm answers 409 preview_stale and changes nothing (a safeguard for the user, not a security control: every rule is checked again on confirm). Access: an API key that a person granted "Manage team" in /dashboard/api (members:read and members:write). Browser sessions are refused with api_key_required; the scopes can never be requested through POST /api/v1/api-keys. ChatGPT, Claude and other OAuth connections hold both scopes implicitly (when their grant includes accounts:write) but may call this endpoint only while the person is an owner or admin of the workspace; otherwise 403 team_management_requires_admin. A key bound to another workspace, or a caller who is not a member, gets 404; a caller whose seat was removed gets 403 workspace_access_revoked.
Request
- Base URL: https://www.poster.ly
- URL: https://www.poster.ly/api/v1/workspaces/{workspaceId}/invites/{inviteId}
- Auth: HTTP bearer
Path parameters
Workspace ID (from whoami).
Pending invite ID from GET /api/v1/workspaces/{workspaceId}/members.
Query parameters
Response
Preview (nothing changed) or the revoked invite.
Example response
{
"requires_confirmation": true,
"preview": {
"action": "invite",
"summary": "Send an invite email to sam@agency.com to join the workspace as Editor. It counts toward your 10 seats (4 in use now).",
"email": "sam@agency.com",
"role": "editor",
"previous_role": null,
"brand_ids": [],
"previous_brand_ids": null,
"sends_email": true,
"counts_toward_seats": true,
"seats_used": 4,
"seat_limit": 10
},
"preview_id": "mp1.1790000900000.q3v9...",
"preview_expires_at": "2026-09-23T12:15:00.000Z",
"next_step": "Nothing has changed yet. Show this preview to the user and, only after they explicitly approve, call again with confirm: true and this preview_id."
}Changes
No recorded changes to this operation across all 1 revision of this API.