Create a campaign invite link
Create a campaign invite. Omit recipients to get one shareable, multi-use link — the returned token is a join credential: anyone who opens /join/{token} while signed in can accept the invite and be added to the campaign as a creator, so treat it like a password. Optional maxUses caps how many creators may join and expiresAt sets a hard cutoff (links default to a 30-day lifetime). Passing recipients instead creates one email-bound invite per address AND emails each of them an invitation — use the shareable-link form (no recipients) for bulk/programmatic invites to avoid sending mail.
apiKeyAuthx-api-key<token>API key for authentication. Keys are prefixed with cops_.
campaignId*string^prj_.+[\s\S]*$application/json- body
recipients?array<>items <= 500maxUses?integer-9007199254740991 <= value <= 9007199254740991expiresAt?stringdate-timeResponse schema unavailable.
curl -X POST 'https://cops.app/api/brand/campaigns/string/invites' \ -H 'Content-Type: application/json' \ -d '{}'List campaign invites GET
List all invite links for a campaign in your organization. Each row includes `recipientEmail` (set for email-bound invites, null for open shareable links), `isActive`, `useCount`, `maxUses`, and `expiresAt`. The `token` (a join credential — anyone with it can join the campaign as a creator) is included only for write-capable callers; it is redacted (null) for read-only credentials. Use a returned invite `id` with delete_campaign_invite to deactivate it.
Deactivate a campaign invite DELETE
Deactivate a campaign invite by id. This is a soft, reversible action — it marks the invite inactive so its `token` can no longer be used to join, but does not remove creators who already joined through it. Use list_campaign_invites to find the invite id.