Archive campaign
Archive a campaign (soft delete): history stays queryable, but the campaign is hidden from default lists and account defaults pointing at it are cleared so no future videos route to it. Prefer this over delete_campaign. Pass an id from list_campaigns.
apiKeyAuthx-api-key<token>API key for authentication. Keys are prefixed with cops_.
id*string^prj_.+[\s\S]*$Response schema unavailable.
curl -X POST 'https://cops.app/api/brand/campaigns/string/archive'Update campaign PATCH
Update a campaign in your organization (only the fields you pass change: name, url, description, logo, color, startDate, active, managerUserId, payoutStructureId, requiresDraftApproval, links). links is the full ordered list of helpful links ({ title, url }, at most 10, http or https only) creators see in onboarding and on the campaign page; it replaces the existing list. requiresDraftApproval true flags posts published since it was turned on that do not match an approved draft. Passing true while it is already on keeps the original start date; passing false clears it, so turning it on again later starts from that later date. Pass "" or null for an optional field to clear it. Pass an id from list_campaigns.
Assign videos to campaign POST
Manually assign videos to a campaign (or unassign with campaignId: null). A video belongs to at most one campaign; manual assignments always win and are never moved by automation. By default the videos' crosspost groups follow (all copies carry the same campaign). Pass videoIds from list_videos and a campaignId from list_campaigns.