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

# Resend campaign participant invite

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

## Request

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

Emails an `invited` participant their personal invite link again. The link does not change,
so a link you already sent keeps working. The email counts toward the daily invite email cap
of your workspace.

Answers 409 when the participant has already joined, was suspended or removed, has no email,
or the campaign is closed.

## Path parameters

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

## Headers

- `Idempotency-Key` string

## Response `200`

Invite email sent again

- 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-29** `dbfaa35515ac`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/creator-campaigns/:campaignId/participants/:participantId/resend-invite/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)
