# Settle campaign participant

Settles a campaign participant.

```http
POST https://api.pozy.ai/v1/creator-campaigns/{campaignId}/participants/{participantId}/settle
```

- Area: Creators / Creator Campaigns
- Auth: Authorization: Bearer pz_live_...

## Path parameters

- `campaignId` (string, required)
- `participantId` (string, required)

## Header parameters

- `Idempotency-Key` (string)

## Request body

Content type: `application/json`

- `amountCents`, integer: At least 1
- `externalReference`, string: 1 to 200 characters
- `recordOnly`, boolean

## Example request

```bash
curl -X POST "https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants/6f0150243551cb6ee41f35e0/settle" \
  -H "Authorization: Bearer $POZY_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "amountCents": 1,
  "externalReference": "string",
  "recordOnly": true
}'
```

```ts
import { randomUUID } from "node:crypto";

const res = await fetch("https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants/6f0150243551cb6ee41f35e0/settle", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.POZY_API_KEY}`,
    "Idempotency-Key": randomUUID(),
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    amountCents: 1,
    externalReference: "string",
    recordOnly: true
  }),
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);
```

```python
import os
import requests

resp = requests.post(
    "https://api.pozy.ai/v1/creator-campaigns/65a3737dd8b11ea61f199e6e/participants/6f0150243551cb6ee41f35e0/settle",
    headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
    json={
        "amountCents": 1,
        "externalReference": "string",
        "recordOnly": True,
    },
    timeout=30,
)
resp.raise_for_status()
print(resp.json())
```

## Response 201

- `settlement`, object, required
  - `entryId`, string, required
  - `participantId`, string, required
  - `amountCents`, integer, required
  - `externalReference`, string, required: Can be null
  - `payableCents`, integer, required
  - `settledAt`, string (date-time), required
  - `transferId`, string
  - `feeCents`, integer
  - `totalCents`, integer

```json
{
  "settlement": {
    "entryId": "6a385c12fc97ebd038aaca0f",
    "participantId": "6f0150243551cb6ee41f35e0",
    "amountCents": 1,
    "externalReference": "string",
    "payableCents": 1,
    "settledAt": "2026-10-02T09:00:00.000Z",
    "transferId": "6f5f6fe5901ca25e11c24ddb",
    "feeCents": 1,
    "totalCents": 42
  }
}
```
