> ## 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.

# Accept Campaign Application

> Accept a pending campaign application, including retainer conditions

Accept a pending application. Assignment only: no earnings and no budget reserve. Only accepted partners may submit proof when `application_required` is true. Requires `write:affiliates`.

For retainer campaigns, the body must include `has_condition` (`true` or `false`). When `has_condition` is true, `condition` is required (max 2000 characters). For non-retainer campaigns, omit both fields.

## Path Parameters

**id** `string` *required*

Encoded campaign id

**applicationId** `string` *required*

Encoded application id

## Body Parameters

Body is optional for non-retainer campaigns. For retainer, `has_condition` is required.

**has\_condition** `boolean`

Retainer only. Required. Choose whether this retainer has a condition.

**condition** `string | null`

Retainer only. Required when `has_condition` is true. Trimmed text, maximum 2000 characters. Cleared when `has_condition` is false.

## Response

Returns the accepted application object.

**success** `boolean`

Always `true` for successful responses

**data** `object`

The application.

**Data Object Properties**

**id** `string`

Encoded application id

**campaign\_id** `string`

Encoded campaign id

**affiliate\_id** `string`

Affiliate id

**affiliate** `object`

Nested affiliate summary with `id`, `name`, and `email`

**answers** `string`

Application answers submitted by the affiliate

**status** `string`

Application status. After accept this is `"ACCEPTED"`. Valid values: `PENDING`, `ACCEPTED`, `REJECTED`.

**reviewed\_at** `string | null`

ISO 8601 review timestamp

**retainer\_has\_condition** `boolean`

Whether this accepted retainer has a condition

**retainer\_condition** `string | null`

Condition text, or `null`

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

ISO 8601 timestamp when the partner retainer was ended, or `null`

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

ISO 8601 timestamp when an ended partner retainer was resumed, or `null`

**created\_at** `string`

ISO 8601 creation timestamp

**updated\_at** `string`

ISO 8601 update timestamp

```bash cURL (retainer with condition) theme={null}
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0001/accept" \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "has_condition": true,
    "condition": "Post at least 2 Shorts per week mentioning our product"
  }'
```

```bash cURL (retainer without condition) theme={null}
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0002/accept" \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "has_condition": false
  }'
```

```json Response theme={null}
{
  "success": true,
  "data": {
    "id": "cmapp01retainer0001",
    "campaign_id": "cmretainer01camp0001",
    "affiliate_id": "aff_abc123",
    "affiliate": {
      "id": "aff_abc123",
      "name": "Jane Smith",
      "email": "jane@example.com"
    },
    "answers": "I publish weekly Shorts to 40k followers",
    "status": "ACCEPTED",
    "reviewed_at": "2026-10-12T16:00:00.000Z",
    "retainer_has_condition": true,
    "retainer_condition": "Post at least 2 Shorts per week mentioning our product",
    "retainer_ended_at": null,
    "retainer_resumed_at": null,
    "created_at": "2026-10-10T12:00:00.000Z",
    "updated_at": "2026-10-12T16:00:00.000Z"
  }
}
```

## Notes

* Requires `write:affiliates`.
* Sending `has_condition` or `condition` on a non-retainer campaign returns a validation error.
* Already `ACCEPTED` applications are returned unchanged (idempotent, HTTP 200). `REJECTED` applications return `CONFLICT`.


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