Creators · Creator Campaigns
Invites a campaign participant.
https://api.pozy.ai/v1/creator-campaigns/{campaignId}/participantsGuide: Run a campaign
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Keys with the creator_campaigns resource group disabled get 403 resource_group_disabled. Authentication
Path parameters
| Name | Type | Notes |
|---|---|---|
campaignIdrequired | string |
Headers
| Name | Type | Notes |
|---|---|---|
Idempotency-Key | string | Up to 255 charactersRetries with the same key return the original result. See Idempotency |
Request body
application/json, required
displayNamestringrequired1 to 200 characters.
emailstring (email)
Example
curl -X POST "https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants" \
-H "Authorization: Bearer $POZY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Acme"
}'import { randomUUID } from "node:crypto";
const res = await fetch("https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POZY_API_KEY}`,
"Idempotency-Key": randomUUID(),
"Content-Type": "application/json",
},
body: JSON.stringify({
displayName: "Acme"
}),
});
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.post(
"https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
json={
"displayName": "Acme",
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
201 on success
participantobjectrequired10 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.
inviteUrlstring (URL)requiredemailSentbooleanrequiredTrue when Pozy emailed the invitation. False when no email address was given or the email could not be sent: share inviteUrl yourself.
{
"participant": {
"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"
}
},
"inviteUrl": "https://pozy.ai/media/example-1.jpg",
"emailSent": true
}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 read-only, 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.