---
title: "Join a campaign"
method: POST
path: "/public/creator-campaigns/{token}"
tags: ["Creator Portal"]
---

# Join a campaign

`POST /public/creator-campaigns/{token}`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/public/creator-campaigns/{token}`
- Auth: none required

Accepts a participant invite, or joins through an open invite link.

- Participant token: the body is ignored and the invite is accepted.
- Open invite token: a new participant is created from `displayName` (required) and `email` (optional), and a fresh participant token comes back. Keep it: it is the creator's only key to their page.

Open-link joins are limited to about 20 per IP address and 60 per link every 10 minutes.

## Request body

- object
  - `displayName` string: Required when joining through an open invite link.
  - `email` string, email

## Response `201`

Joined. Use `participantToken` for every later call.

- object
  - `participantToken` string, required

## Other responses

- `400`: Missing `displayName` on an open-link join ("Add your name to join.", `missing_required_field`), an invalid field, or the campaign has ended (`invalid_resource_state`, "This campaign has ended.").
- `403`: The campaign is not taking new creators (`feature_not_available`, "This campaign is not taking new creators right now. Ask the campaign team."), for example because it reached its participant cap.
- `404`: The token is malformed, unknown or expired. Every case answers the same, so a link can never be probed.
- `429`: Too many attempts from this link or IP address (`rate_limited`). Wait a few minutes and try again.

## Changes

- **2026-10-28** `174ae3ba4b13`: 2 info
  - api tag `Creator Portal` added
  - api tag `Creator Portal (public)` removed
- **2026-10-28** `8f2c44dd7550`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/public/creator-campaigns/:token/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)
