---
title: "Reinstate campaign participant"
method: POST
path: "/v1/creator-campaigns/{campaignId}/participants/{participantId}/reinstate"
tags: ["Creator Campaigns"]
---

# Reinstate campaign participant

`POST /v1/creator-campaigns/{campaignId}/participants/{participantId}/reinstate`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/creator-campaigns/{campaignId}/participants/{participantId}/reinstate`
- Auth: HTTP bearer

Reinstates a `suspended` participant: they can submit posts again. Any other status answers 409; a removed participant stays removed.

## Path parameters

- `campaignId` string, required
- `participantId` string, required

## Response `200`

Participant reinstated

- object
  - `participant` CampaignParticipant, required
    - `id` string, required
    - `campaignId` string, required
    - `creator` object, required
      - `id` string, required
      - `displayName` string, required
      - `email` string, nullable, required
    - `status` 'invited' | 'active' | 'suspended' | 'removed', required
    - `joinedAt` string, date-time, nullable, required
    - `accounts` object[], required: Social accounts the creator connected, verified once Zernio confirmed the creator owns them.
      - `accountId` string, required
      - `verifiedAt` string, date-time, nullable, required
      - `platform` string, nullable, required: Null when the account is no longer active on the creator profile.
      - `username` string, nullable, required: The handle on the platform; null when the account is no longer active.
    - `balances` CampaignParticipantBalances, required: USD cents in each state. accruing: earned on posts not yet approved. owed: approved and on hold. payable: past the hold, ready to pay. settling: a treasury payout in progress, no longer payable and not reversible by a reject. settled: paid out.
      - `accruing` integer, required
      - `owed` integer, required
      - `payable` integer, required
      - `settling` integer, required
      - `settled` integer, required
    - `flags` object[], required
      - `code` 'linked_accounts' | 'cross_operator', required
      - `detail` string, required
      - `raisedAt` string, date-time, required
    - `submissionCounts` CampaignSubmissionCounts, required: Number of submissions in each status.
      - `received` integer, required
      - `tracking` integer, required
      - `pending_review` integer, required
      - `approved` integer, required
      - `rejected` integer, required
      - `expired` integer, required
      - `withdrawn` integer, required
    - `payout` object, required: How far the creator got with Stripe payout setup. Only `ready` creators can be paid through the Zernio treasury.
      - `status` 'not_started' | 'onboarding' | 'ready' | 'restricted', required: `not_started`: no payout account yet. `onboarding`: setup started or under review. `ready`: payouts enabled. `restricted`: Stripe needs more information before paying out.

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `403`: Refused. Code `feature_not_available`: creator campaigns run on usage-based billing and the workspace that owns the campaign is not on it yet ("Creator campaigns require usage-based billing..."; contact support to switch), or the campaign reached `caps.maxParticipants` (invites and joins only). Code `insufficient_permissions`: a restricted API key without the `creator_campaigns` resource group.
- `404`: The campaign, participant or submission does not exist, belongs to another team, or sits in a profile this key cannot reach (code `resource_not_found`).
- `409`: The campaign, participant or submission is not in a state that allows this action (code `invalid_resource_state`); the message names the current state. Also returned while the same `Idempotency-Key` is still processing.

## Changes

- **2026-10-28** `8f2c44dd7550`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/creator-campaigns/:campaignId/participants/:participantId/reinstate/post.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) - [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/c319eb5d95b6?raw)
