> ## Documentation Index
> Fetch the complete documentation index at: https://docs.affonso.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List Campaigns

> List your team's program campaigns

List the campaigns owned by your team, newest `start_date` first. Requires `read:program`.

The same data is available through the [`affonso_list_campaigns`](https://docs.affonso.io/mcp/tools/campaigns) MCP tool.

## Query Parameters

**page** `integer` (default: 1)

Page number for pagination. Must be a positive integer.

**limit** `integer` (default: 50)

Number of results per page. Maximum value is 200. Default is 50.

**status** `string`

Filter by campaign status. Valid values: `DRAFT`, `SCHEDULED`, `ACTIVE`, `ENDED`, `ARCHIVED`.

## Response

Paginated list of campaigns.

**success** `boolean`

Always `true` for successful responses

**data** `array`

Array of campaign objects.

**Campaign Object Properties**

**id** `string`

Encoded campaign id

**name** `string`

Campaign title

**description** `string | null`

Campaign description

**kind** `string`

Always `"submission"`

**status** `string`

Campaign status. Valid values: `DRAFT`, `SCHEDULED`, `ACTIVE`, `ENDED`, `ARCHIVED`.

**reward\_type** `string`

`flat_rate`, `custom`, `range`, or `retainer`

**reward\_amount** `number | null`

Fixed reward amount

**reward\_amount\_min** `number | null`

Range minimum

**reward\_amount\_max** `number | null`

Range maximum

**max\_budget** `number | null`

Owner-only spend cap. Null means no cap. Always null on retainer.

**retainer\_interval** `string | null`

`monthly` or `weekly` for retainer campaigns, otherwise `null`

**retainer\_day\_of\_month** `integer | string | null`

`1`-`28` or `"last"` for monthly retainers, otherwise `null`

**retainer\_weekday** `string | null`

Weekday for weekly retainers, otherwise `null`

**retainer\_schedule\_changed\_at** `string | null`

ISO 8601 timestamp of the last retainer schedule change, or `null`

**retainer\_resumed\_at** `string | null`

ISO 8601 timestamp set only when a retainer campaign moves from ENDED or ARCHIVED to ACTIVE, or `null`

**start\_date** `string`

ISO 8601 start datetime

**end\_date** `string | null`

ISO 8601 end datetime, or `null`

**application\_required** `boolean`

Whether affiliates must apply before submitting proof

**application\_prompt** `string | null`

Application question text

**max\_submissions\_per\_user** `integer | null`

Per-affiliate submission cap

**created\_at** `string`

ISO 8601 creation timestamp

**updated\_at** `string`

ISO 8601 update timestamp

**pagination** `object`

Pagination metadata: `page`, `limit`, `total`, `total_pages`, `has_next_page`, `has_prev_page`.

```bash cURL theme={null}
curl -X GET "https://api.affonso.io/v1/program/campaigns?page=1&limit=50&status=ACTIVE" \
  -H "Authorization: Bearer sk_live_your_api_key"
```

```json Response theme={null}
{
  "success": true,
  "data": [
    {
      "id": "cmlaunch01camp0001",
      "name": "Launch Review Bounty",
      "description": null,
      "kind": "submission",
      "status": "ACTIVE",
      "reward_type": "flat_rate",
      "reward_amount": 100,
      "reward_amount_min": null,
      "reward_amount_max": null,
      "max_budget": 2000,
      "retainer_interval": null,
      "retainer_day_of_month": null,
      "retainer_weekday": null,
      "retainer_schedule_changed_at": null,
      "retainer_resumed_at": null,
      "start_date": "2026-10-01T00:00:00.000Z",
      "end_date": null,
      "application_required": true,
      "application_prompt": "Link your review draft",
      "max_submissions_per_user": null,
      "created_at": "2026-09-28T09:00:00.000Z",
      "updated_at": "2026-10-01T00:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 1,
    "total_pages": 1,
    "has_next_page": false,
    "has_prev_page": false
  }
}
```

## Notes

* Requires `read:program`.
* Campaigns are sorted by `start_date` descending, then by id.
* An unknown `status` value returns `VALIDATION_ERROR` (HTTP 400).
* Get a single campaign with [Get Campaign](https://docs.affonso.io/api/endpoint/campaigns/get.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.