Team

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.

delete/api/v1/workspaces/{workspaceId}/invites/{inviteId}

Request

  • Base URL: https://www.poster.ly
  • URL: https://www.poster.ly/api/v1/workspaces/{workspaceId}/invites/{inviteId}
  • Auth: HTTP bearer

Path parameters

workspaceIdstring uuid required

Workspace ID (from whoami).

inviteIdstring uuid required

Pending invite ID from GET /api/v1/workspaces/{workspaceId}/members.

Query parameters

confirmboolean
preview_idstring

Response

Preview (nothing changed) or the revoked invite.

OR

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.