Creators · Creator Campaigns

Approve campaign submission

Approves a campaign submission.

POSThttps://api.pozy.ai/v1/creator-campaigns/{campaignId}/submissions/{submissionId}/approve
approveCampaignSubmission

Guide: 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

NameTypeNotes
campaignIdrequiredstring
submissionIdrequiredstring

Headers

NameTypeNotes
Idempotency-KeystringUp to 255 charactersRetries with the same key return the original result. See Idempotency

Example

curl -X POST "https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/submissions/6e818fdd01ae3931c5b58c40/approve" \
  -H "Authorization: Bearer $POZY_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Response

200 on success

  • submissionobjectrequired
    36 child fields
    • idstringrequired
    • campaignIdstringrequired
    • participantIdstringrequired
    • creatorIdstringrequired
    • accountIdstringrequired
    • platformstringrequired

      One of tiktok, instagram, youtube, threads, pinterest, facebook, twitter.

    • platformPostIdstringrequired
    • platformPostUrlstringrequired

      Can be null.

    • externalPostIdstringrequired

      Can be null.

    • trackingWindowIdstringrequired

      Can be null.

    • mediaHashstringrequired

      Can be null.

    • submittedAtstring (date-time)required
    • postPublishedAtstring (date-time)required

      Can be null.

    • statusstringrequired

      One of received, tracking, pending_review, approved, rejected, expired, withdrawn.

    • rejectReasonstringrequired

      Can be null.

    • reviewRoundintegerrequired

      At least 0.

    • reviewedBystringrequired

      Can be null.

    • reviewedAtstring (date-time)required

      Can be null.

    • viewsAtSubmissionintegerrequired

      Can be null.

    • viewsLatestintegerrequired

      Can be null.

    • viewsEligibleintegerrequired

      Can be null.

    • lastAccruedViewsintegerrequired
    • accruedCentsintegerrequired
    • approvedCentsintegerrequired
    • authenticityScoreintegerrequired

      0 to 100. Can be null.

    • authenticityConfidencenumberrequired

      Can be null.

    • flagsarray of objectrequired
      3 child fields
      • codestringrequired

        One of duplicate_media, duplicate_post, view_spike, linked_accounts, cross_operator, unreachable, post_deleted, account_restricted, low_authenticity, x_read_cap.

      • detailstringrequired
      • raisedAtstring (date-time)required
    • createdAtstring (date-time)required
    • updatedAtstring (date-time)required
    • creatorobjectrequired
      2 child fields
      • idstringrequired
      • displayNamestringrequired
    • authenticityobjectrequired

      Can be null.

      3 child fields
      • scoreintegerrequired
      • confidencenumberrequired

        Can be null.

      • reasonsarray of anyrequired
    • earnedCentsintegerrequired
    • releasedCentsintegerrequired
    • paidOutCentsintegerrequired
    • windowobjectrequired

      Can be null.

      3 child fields
      • idstringrequired
      • endsAtstring (date-time)required
      • statusstringrequired
    • postobjectrequired
      4 child fields
      • thumbnailUrlstringrequired

        Can be null.

      • captionstringrequired

        Can be null.

      • accountHandlestringrequired

        Can be null.

      • publishedAtstring (date-time)required
200 response
{
  "submission": {
    "id": "6bfebd43ddc270f6d2c56fc5",
    "campaignId": "65a3737dd8b11ea61f199e6e",
    "participantId": "6f0150243551cb6ee41f35e0",
    "creatorId": "60f02f5c37b3bebdfb840f20",
    "accountId": "696e0b682d0a31188e7a2ba9",
    "platform": "tiktok",
    "platformPostId": "637f799b3039e6602e83fa4f",
    "platformPostUrl": "https://pozy.ai/media/example-1.jpg",
    "externalPostId": "66544c06e6ecd8249c21a602",
    "trackingWindowId": "651768d708cdfcec131e08a3",
    "mediaHash": "string",
    "submittedAt": "2026-10-02T09:00:00.000Z",
    "postPublishedAt": "2026-10-02T09:00:00.000Z",
    "status": "received",
    "rejectReason": "string",
    "reviewRound": 1,
    "reviewedBy": "string",
    "reviewedAt": "2026-10-02T09:00:00.000Z",
    "viewsAtSubmission": 1,
    "viewsLatest": 1,
    "viewsEligible": 1,
    "lastAccruedViews": 1,
    "accruedCents": 1,
    "approvedCents": 1,
    "authenticityScore": 1,
    "authenticityConfidence": 12.5,
    "flags": [
      {
        "code": "duplicate_media",
        "detail": "string",
        "raisedAt": "2026-10-02T09:00:00.000Z"
      }
    ],
    "createdAt": "2026-10-02T09:00:00.000Z",
    "updatedAt": "2026-10-02T09:00:00.000Z",
    "creator": {
      "id": "6bfebd43ddc270f6d2c56fc5",
      "displayName": "Acme"
    },
    "authenticity": {
      "score": 1,
      "confidence": 12.5,
      "reasons": [
        "string"
      ]
    },
    "earnedCents": 1,
    "releasedCents": 1,
    "paidOutCents": 1,
    "window": {
      "id": "6bfebd43ddc270f6d2c56fc5",
      "endsAt": "2026-10-02T09:00:00.000Z",
      "status": "active"
    },
    "post": {
      "thumbnailUrl": "https://pozy.ai/media/example-1.jpg",
      "caption": "Hello from Pozy",
      "accountHandle": "acme",
      "publishedAt": "2026-10-02T09:00:00.000Z"
    }
  }
}

Errors

Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:

400invalid_request_errorA parameter or body field is missing or invalid. param names it.
401authentication_errorThe API key is missing, revoked or expired.
403permission_errorThe key is read-only, scoped to other profiles, or has this resource group disabled.
404not_foundNothing with that id exists in your workspace.
429rate_limit_errorToo many requests this minute. Wait for Retry-After seconds.

Every code is listed in Errors.

More in Creator Campaigns