Creator Campaigns

Create creator campaign

Changed on

Creates a campaign in draft. Creators are paid for verified performance of the posts they submit: Zernio tracks each post through a tracking window, scores its authenticity and records every earning in a ledger. Activate the campaign to start accepting submissions.

Creator campaigns run on usage-based billing; a workspace not on it gets 403 feature_not_available. profileId must be a profile this key can reach, otherwise 404.

post/v1/creator-campaigns

Request

  • Base URL
    https://zernio.com/api
  • URL
    https://zernio.com/api/v1/creator-campaigns
  • Auth
    HTTP bearer

Headers

Idempotency-Keystring

Optional client-generated unique key (e.g. a UUID) that makes retries safe.

  • Same key + same body: replays the original response.
  • Same key + different body: 422.
  • Key still processing: 409.

A request cut off mid-handler (e.g. by a function timeout) can leave its key in progress, answering 409 until the key expires after 24 hours.

Request body

profileIdstring required

Profile the campaign lives in. Creator accounts connect into the same workspace.

namestring required
brandNamestring required
platformsstring[]

Platforms creators may post on. At least one is needed to activate. twitter (X) needs usage-based billing: X reads are billed at cost, up to caps.maxXReadSpendCents, and X views are the post's impressions. facebook takes Page reels and videos only.

contentRulesstring nullable
startsAtstring date-time nullable
endsAtstring date-time nullable
trackingDaysinteger
holdDaysinteger
maxPostAgeMinutesinteger nullable

Optional maximum age in minutes of a post when it is submitted. Null or omitted (the default) accepts any age. Posts published before the campaign started are always refused.

settlement'none' | 'external' | 'treasury'

Response

Campaign created

Example response

{
  "campaign": {
    "kind": "clipping",
    "currency": "usd"
  }
}

Changes

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status