Suspend campaign participant
Suspends an active participant: they can no longer submit posts. Any other status answers 409.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Campaign ID.
Participant 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.suspendCampaignParticipant({ path: { campaignId: 'campaign_abc123', participantId: 'participant_abc123', },});console.log(data);{ "participant": { "id": "string", "campaignId": "string", "creator": { "id": "string", "displayName": "string", "email": "string" }, "status": "invited", "joinedAt": "2019-08-24T14:15:22Z", "accounts": [ { "accountId": "string", "verifiedAt": "2019-08-24T14:15:22Z", "platform": "string", "username": "string" } ], "balances": { "accruing": 0, "owed": 0, "payable": 0, "settling": 0, "settled": 0 }, "flags": [ { "code": "linked_accounts", "detail": "string", "raisedAt": "2019-08-24T14:15:22Z" } ], "submissionCounts": { "received": 0, "tracking": 0, "pending_review": 0, "approved": 0, "rejected": 0, "expired": 0, "withdrawn": 0 }, "payout": { "status": "not_started" } }}Settle campaign participant
Records a payout of the participant's payable balance and fires `campaign_payout.settled`. Omit `amountCents` to settle the whole payable balance; an amount above it answers 400, and nothing payable answers 409. - `none` settlement: records a payout you made elsewhere. - `external` settlement: pay from your own rails when `campaign_payout.payable` fires, then call this with your payout id in `externalReference` (required in this mode). - `treasury` settlement: transfers the amount from your Zernio balance to the creator's connected Stripe account, then records it with the Stripe transfer id as `externalReference`. The transfer fee (4%, $0.50 minimum) is added on top: the creator receives the full amount and your balance is debited `totalCents`. The creator must have finished payout setup from their campaign page (409 otherwise), and a balance that does not cover the amount plus the fee answers 402. While Stripe confirms the transfer the amount sits in the participant's `settling` balance: a reject in that window cannot reverse it. If Stripe refuses the transfer the amount returns to payable; if Stripe does not answer, the amount stays in `settling` and the next settle call for this participant finishes that payout first (even with nothing payable left). A retry asking for a different `amountCents` than the payout in progress answers 409 with the amount in progress, and a settle while another request is still waiting on Stripe for the same payout answers 409 ("This payout is being sent to Stripe right now. Try again in a minute."). A payout Stripe has not confirmed after 24 hours answers 409 ("This payout is being confirmed with Stripe. Try again after the next reconciliation (within 24 hours).") until the daily reconciliation finishes it: settled if Stripe made the transfer, returned to payable if it did not. Set `recordOnly: true` to record a payout you made yourself instead of moving money through the treasury (the webhook then carries `recorded: true`). A treasury payout needs an owner, admin or billing admin, signed in or through a full-access key they created (403 otherwise); recording with `recordOnly` does not. A creator held by an unfinished payout batch answers 409 ("This creator is in a card payout that is not finished yet."). Send an `Idempotency-Key` so a retry never records the payout twice.
List ledger entries
Lists ledger entries for your team, newest first. Filter by scope (matches either side of the entry), kind, or the reference that caused the entry. A profile-scoped key (or a member limited to some profiles) only sees entries of campaigns under its profiles and of their participants; operator and platform scopes stay hidden from it.