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

# Toggle syndication

> Turn syndication of a resource on or off for ADCP agents

`POST /api/v2/buyer/advertisers/{advertiserId}/syndicate`

Toggles syndication ON or OFF for an audience, event source, or catalog to one or more ADCP agents. Returns one status record per agent immediately. The sync itself is asynchronous — poll [Get syndication status](/v2/buyer/syndication/tasks/get-syndication-status) to confirm each record reaches `COMPLETED`.

## Request

```bash theme={null}
curl -X POST https://api.interchange.io/api/v2/buyer/advertisers/12345/syndicate \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "resourceType": "AUDIENCE",
    "resourceId": "aud_88f0",
    "adcpAgentIds": ["42", "57"],
    "enabled": true
  }'
```

## Parameters

| Field          | Type          | Required | Notes                                             |
| -------------- | ------------- | -------- | ------------------------------------------------- |
| `advertiserId` | string (path) | Yes      | Advertiser that owns the resource                 |
| `resourceType` | enum          | Yes      | `AUDIENCE`, `EVENT_SOURCE`, or `CATALOG`          |
| `resourceId`   | string        | Yes      | ID of the resource being syndicated               |
| `adcpAgentIds` | string\[]     | Yes      | One or more ADCP agent IDs. At least one required |
| `enabled`      | boolean       | Yes      | `true` turns syndication on, `false` turns it off |

## Response

```json theme={null}
[
  {
    "id": "1",
    "customerId": 7,
    "advertiserId": "12345",
    "resourceType": "AUDIENCE",
    "resourceId": "aud_88f0",
    "audienceId": "1",
    "eventSourceId": null,
    "catalogId": null,
    "adcpAgentId": "42",
    "adcpAgentAccountId": null,
    "enabled": true,
    "status": "PENDING",
    "errorMessage": null,
    "responseData": null,
    "createdAt": "2026-06-06T17:00:00.000Z",
    "updatedAt": "2026-06-06T17:00:00.000Z",
    "completedAt": null
  }
]
```

The payload carries one record per agent in `adcpAgentIds`. Records start at `status: "PENDING"`; `completedAt` is `null` until the async sync finishes.

## Errors

* `400 VALIDATION_ERROR` — unknown `resourceType`, empty `adcpAgentIds`, or a missing required field.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Syndication tasks" href="/v2/buyer/syndication/tasks" icon="list-check">
    All syndication operations
  </Card>

  <Card title="Get syndication status" href="/v2/buyer/syndication/tasks/get-syndication-status" icon="magnifying-glass">
    Confirm the async sync completed
  </Card>
</CardGroup>
