Campaigns
Campaign listing and management
List campaigns
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Query Parameters
pageinteger1Minimum: 1limitinteger20Minimum: 1Maximum: 100Paginated campaign list
Get campaign details
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Path Parameters
idRequiredintegerCampaign details with challenge info
Create campaign with challenge
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Request Body
application/jsonRequiredbrandIdRequiredintegertitleRequiredstringdescriptionstringimageUrlstring"uri"pointsRewardRequiredintegerstartsAtstring"date-time"endsAtstring"date-time"challengeRequiredobjectCampaign created
Get campaign summary stats
Returns attempt counts by state, total verified, rewarded, and points issued.
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Path Parameters
idRequiredintegerCampaign summary
Get campaign participant results
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Path Parameters
idRequiredintegerQuery Parameters
pageinteger1limitinteger20statestringFilter by attempt state
"created" | "target_opened" | "awaiting_claim" | "verification_pending" | "verified" | "rewarded" | "failed_retryable" | "failed_terminal"Participant results
Batch verify and reward creators
Matches verified creators who have post comments matching their username but no existing attempt. Creates attempts in verified state, schedules the rewards, and dispatches creator.verified webhooks (followed by reward.issued once the reward is issued).
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Path Parameters
idRequiredintegerBatch result
End campaign
Soft-finish a campaign: sets isActive = false and endsAt to now (or keeps earlier endsAt if already past). Existing attempts and rewards are preserved. Idempotent.
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Path Parameters
idRequiredintegerCampaign ended
Delete campaign
Hard-deletes a campaign and its challenge, including scraped post comments and metrics. Only permitted when the challenge has zero attempts. If any attempts exist, returns 409 — end the campaign instead.
Authorization
AuthorizationRequiredBearer <token>API token. Send it as Authorization: Bearer <API_TOKEN>.
In: header
Path Parameters
idRequiredintegerCampaign deleted