---
title: "Campaign Participation Token"
method: POST
path: "/participant-token"
---

# Campaign Participation Token

`POST /participant-token`

## Request

- Base URL: `https://gamify-api-us.optimove.net/adact`
- URL: `https://gamify-api-us.optimove.net/adact/participant-token`
- Auth: none required

This endpoint generates a participation token that links an Optimove customer to an Adact campaign.

Use it when you want to forward a known customer from an Optimove campaign into Adact gameplay. The token identifies the participant accurately on arrival and enables Adact to send real-time events back to Optimove based on the outcome of the gameplay.

The response returns a ready-made `queryParam` value that you append directly to your campaign URL. For example, if your campaign lives at `my-brand.adact.me/campaign`, the forwarding URL becomes:

```
my-brand.adact.me/campaign?customerIdToken={token}
```

Everything you place inside `payload` is embedded in the generated JWT.

`expiresIn` is expressed in seconds.

## Request body

- object
  - `payload` object, required: The claims to embed in the generated JWT. Everything you place in this object is added to the token.
    - `cid` string, required: The Optimove Customer ID of the participant. This is how the participant is identified in Adact and in the events sent back to Optimove.
    - `campaignId` integer: Optional. Restricts the token to a single campaign, so the participant cannot reuse it in other campaigns in your account.
  - `expiresIn` integer: Optional. The token lifetime in seconds. Restricts how long the participant can reuse the token in your Adact campaigns. If omitted, the generated token never expires.

## Response `200`

200

- object
  - `queryParam` string: A ready-made query string to append to your campaign URL.
  - `token` string: The generated JWT participation token.

## Other responses

- `401`: 401 - Authorization failed. The API key is missing or incorrect.
- `422`: 422 - Body validation failed. A required field is missing, or a field has the wrong type.

---

[API](https://skmtc.dev/optimove/apis/gamify.md) - [All operations](https://skmtc.dev/optimove/apis/gamify/llms.txt) - [OpenAPI document](https://skmtc.dev/optimove/apis/gamify/revisions/a73b512db403?raw)
