---
title: "Create campaign adjustment"
method: POST
path: "/v1/creator-campaigns/{campaignId}/adjustments"
tags: ["Creator Campaigns"]
---

# Create campaign adjustment

`POST /v1/creator-campaigns/{campaignId}/adjustments`

## Request

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

Posts a manual adjustment to a participant's payable balance against the campaign budget: a
positive amount credits the participant (a bonus), a negative one claws back. `cause` is kept
on the ledger entry. A claw-back larger than the payable balance answers 409.

## Path parameters

- `campaignId` string, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `participantId` string, required
  - `amountCents` integer, required: Non-zero. Positive credits, negative claws back.
  - `cause` string, required

## Response `201`

Adjustment posted

- object
  - `entry` CampaignAdjustment, required
    - `id` string, required
    - `kind` 'adjustment', required
    - `participantId` string, required
    - `amountCents` integer, required: Positive credits the participant, negative claws back.
    - `cause` string, required
    - `actor` string, required
    - `createdAt` string, date-time, required

## 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.
- `422`: Idempotency-Key reused with a different request

## Changes

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

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