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

# Create Audience Sync

> Push a segment to a Meta custom audience and keep it synced

Create an audience sync. The custom audience is created in your Meta ad account, the first upload runs immediately, and afterwards the audience refreshes on the chosen schedule.

Requires the Meta Ads integration to be connected in the dashboard (Settings → Integrations).

## Request

<ParamField body="segmentId" type="string">
  Existing segment ID to sync. Provide either `segmentId` or
  `predefinedSegmentId`, not both.
</ParamField>

<ParamField body="predefinedSegmentId" type="string">
  Ready-made segment template ID, for example `zero-ltv`, `no-purchase-1y`,
  `recent-buyers`, `high-spenders-ecom`, `non-buyers`, or `engaged`. The segment
  is created automatically on first use and reused afterwards. If an unrelated
  segment with the template's name but different filters already exists, the
  request fails with a `409` - sync that segment via `segmentId` or rename it.
</ParamField>

<ParamField body="adAccountId" type="string" required>
  Meta ad account ID (`act_...`). Use [List Ad
  Accounts](/api-reference/audience-syncs/ad-accounts) to find it.
</ParamField>

<ParamField body="audienceName" type="string" required>
  Name for the custom audience in Meta Ads Manager.
</ParamField>

<ParamField body="frequency" type="string" default="daily">
  How often the segment is re-uploaded: `hourly`, `daily`, or `weekly`.
</ParamField>

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/audience-syncs" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "predefinedSegmentId": "recent-buyers",
    "adAccountId": "act_1234567890",
    "audienceName": "Sequenzy - Recent buyers",
    "frequency": "daily"
  }'
```

<Note>
  Audiences are add-only: subscribers who later leave the segment stay in the
  Meta audience. Meta requires 100+ matched people before an audience can be
  used for ad delivery.
</Note>

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "audienceSync": {
      "id": "sync_abc123",
      "segmentId": "seg_recent_buyers",
      "segmentName": "Recent buyers",
      "adAccountId": "act_1234567890",
      "audienceName": "Sequenzy - Recent buyers",
      "frequency": "daily",
      "isActive": true,
      "syncStatus": "idle",
      "lastSyncAt": null,
      "lastSyncError": null,
      "lastSyncedCount": 0,
      "createdAt": "2026-06-12T10:00:00.000Z"
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": "Meta Ads is not connected for this company. Connect it in Settings -> Integrations."
  }
  ```

  ```json 400 theme={null}
  {
    "error": "Provide either a segmentId or a predefinedSegmentId, not both"
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Segment not found"
  }
  ```

  ```json 409 theme={null}
  {
    "error": "This segment is already synced to an audience in that ad account"
  }
  ```

  ```json 409 theme={null}
  {
    "error": "A segment named \"Recent buyers\" already exists with different filters. Sync it via segmentId, or rename it to use the \"recent-buyers\" template."
  }
  ```

  ```json 401 theme={null}
  {
    "error": "Unauthorized"
  }
  ```
</ResponseExample>
