Creators · Creator Campaigns
Returns campaign participants, one page at a time.
GET
https://api.pozy.ai/v1/creator-campaigns/{campaignId}/participantslistCampaignParticipants
Guide: Run a campaign
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys can call it. Keys with the creator_campaigns resource group disabled get 403 resource_group_disabled. Authentication
Path parameters
| Name | Type | Notes |
|---|---|---|
campaignIdrequired | string |
Query parameters
| Name | Type | Notes |
|---|---|---|
status | string | One of invited, active, suspended, removed |
limit | integer | Default 501 to 200 |
skip | integer | Default 0At least 0 |
Example
curl -X GET "https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants?limit=50" \
-H "Authorization: Bearer $POZY_API_KEY"const res = await fetch("https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants?limit=50", {
headers: { Authorization: `Bearer ${process.env.POZY_API_KEY}` },
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.get(
"https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
params={
"limit": 50,
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
200 on success
participantsarray of objectrequired10 child fields
idstringrequiredcampaignIdstringrequiredcreatorobjectrequired3 child fields
idstringrequireddisplayNamestringrequiredemailstringrequiredCan be null.
statusstringrequiredOne of
invited,active,suspended,removed.joinedAtstring (date-time)requiredCan be null.
accountsarray of objectrequired4 child fields
accountIdstringrequiredverifiedAtstring (date-time)requiredCan be null.
platformstringrequiredCan be null.
usernamestringrequiredCan be null.
balancesobjectrequired5 child fields
accruingintegerrequiredowedintegerrequiredpayableintegerrequiredsettlingintegerrequiredsettledintegerrequired
flagsarray of objectrequired3 child fields
codestringrequiredOne of
linked_accounts,cross_operator.detailstringrequiredraisedAtstring (date-time)required
submissionCountsobjectrequired7 child fields
receivedintegerrequiredtrackingintegerrequiredpending_reviewintegerrequiredapprovedintegerrequiredrejectedintegerrequiredexpiredintegerrequiredwithdrawnintegerrequired
payoutobjectrequired1 child field
statusstringrequiredOne of
not_started,onboarding,ready,restricted.
totalintegerrequired
200 response
{
"participants": [
{
"id": "6bfebd43ddc270f6d2c56fc5",
"campaignId": "65a3737dd8b11ea61f199e6e",
"creator": {
"id": "6bfebd43ddc270f6d2c56fc5",
"displayName": "Acme",
"email": "alex@example.com"
},
"status": "invited",
"joinedAt": "2026-10-02T09:00:00.000Z",
"accounts": [
{
"accountId": "696e0b682d0a31188e7a2ba9",
"verifiedAt": "2026-10-02T09:00:00.000Z",
"platform": "instagram",
"username": "acme"
}
],
"balances": {
"accruing": 1,
"owed": 1,
"payable": 1,
"settling": 1,
"settled": 1
},
"flags": [
{
"code": "linked_accounts",
"detail": "string",
"raisedAt": "2026-10-02T09:00:00.000Z"
}
],
"submissionCounts": {
"received": 1,
"tracking": 1,
"pending_review": 1,
"approved": 1,
"rejected": 1,
"expired": 1,
"withdrawn": 1
},
"payout": {
"status": "not_started"
}
}
],
"total": 42
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 401 | authentication_error | The API key is missing, revoked or expired. |
| 403 | permission_error | The key is scoped to other profiles or has this resource group disabled. |
| 404 | not_found | Nothing with that id exists in your workspace. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.
More in Creator Campaigns
GETList creator campaignsPOSTCreate creator campaignGETGet creator campaignPATCHUpdate creator campaignPOSTRaise creator campaign budgetPOSTActivate creator campaignPOSTPause creator campaignPOSTClose creator campaignPOSTInvite campaign participantGETGet campaign participantPOSTSuspend campaign participantPOSTReinstate campaign participantPOSTRemove campaign participantPOSTResend campaign participant invitePOSTSettle campaign participantGETList payout batchesPOSTPay creators with one card paymentPOSTCreate campaign invite linkGETList campaign submissionsGETGet campaign submissionPOSTApprove campaign submissionPOSTReject campaign submissionPOSTReopen campaign submissionGETList campaign payablesPOSTCreate campaign adjustmentGETList campaign ledgerGETGet campaign report