Zernio
APIFor you
Zernio
APIFor you
API Reference

Creator Campaigns

List campaign ledgerGETList campaign participantsGETList campaign payablesGETList payout batchesGETList campaign submissionsGETList creator campaignsGETCreate campaign adjustmentPOSTCreate campaign invite linkPOSTInvite campaign participantPOSTPay creators with one card paymentPOSTCreate creator campaignPOSTGet campaign participantGETGet campaign reportGETGet campaign submissionGETGet creator campaignGETUpdate creator campaignPATCHActivate creator campaignPOSTApprove campaign submissionPOSTClose creator campaignPOSTPause creator campaignPOSTRaise creator campaign budgetPOSTReinstate campaign participantPOSTReject campaign submissionPOSTRemove campaign participantPOSTReopen campaign submissionPOSTSettle campaign participantPOSTSuspend campaign participantPOST
Dashboard
OverviewPlatformsAPI ReferenceResources
Creator Campaigns

Close creator campaign

Closes an active or paused campaign for good and fires creator_campaign.closed. Open tracking windows are cancelled. A pool campaign is split among participants at this moment by their approved eligible views, so closing a pool campaign answers 409 while any post still awaits review. A campaign also closes by itself once endsAt passed and every tracking window had its final read.


POST
/v1/creator-campaigns/{campaignId}/close

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

campaignId*string

Campaign ID.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.creatorcampaigns.closeCreatorCampaign({  path: {    campaignId: 'campaign_abc123',  },});console.log(data);
{  "campaign": {    "id": "string",    "userId": "string",    "profileId": "string",    "kind": "string",    "name": "string",    "brandName": "string",    "status": "draft",    "type": "cpm",    "currency": "string",    "platforms": [      "tiktok"    ],    "contentRules": "string",    "startsAt": "2019-08-24T14:15:22Z",    "endsAt": "2019-08-24T14:15:22Z",    "trackingDays": 0,    "holdDays": 0,    "maxPostAgeMinutes": 0,    "settlement": "none",    "economics": {      "type": "cpm",      "ratePer1kCents": 1,      "minViewsToEarn": 0,      "maxPayoutPerClipCents": 1,      "budgetCents": 0    },    "caps": {      "maxParticipants": 1,      "maxSubmissionsPerParticipantPerDay": 1,      "maxAccountsPerParticipant": 1,      "authenticityThreshold": 0    },    "branding": {      "brandName": "string",      "primaryColor": "string",      "logoUrl": "string",      "theme": {}    },    "budgetExhaustedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "payableScannedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "hasOpenInvite": true,    "consumedCents": 0,    "participantCount": 0,    "submissionCounts": {      "received": 0,      "tracking": 0,      "pending_review": 0,      "approved": 0,      "rejected": 0,      "expired": 0,      "withdrawn": 0    }  }}
Was this page helpful?

Approve campaign submission

Approves a `tracking` or `pending_review` submission of an active campaign and fires `campaign_submission.approved`. The Zernio dashboard offers Approve only on `pending_review` (a post that needs a decision) and waits for `tracking` posts to get there; the API accepts `tracking` so an integration can approve early. What the post earned so far moves to owed and is held for the campaign's `holdDays`; later earnings post straight to owed. A per-post campaign pays `perApprovedPostCents` here. Any other state answers 409. The same post approved in another of your campaigns also answers 409 (`invalid_resource_state`, "This post is already approved in another campaign of yours."), so one post never earns twice.

Pause creator campaign

Moves an `active` campaign to `paused`: no new submissions, and approvals answer 409 until the campaign is activated again.