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

# Audience

An Audience represents a customer list uploaded to Whop for ad targeting. Audiences belong to an account and sync to supported ad platforms as custom audiences.

Use the Audiences API to create audiences from CSV uploads, monitor processing status, and list or delete audiences for an account. Created audiences are usable for targeting after processing reaches `ready` or `partial`.

## Endpoints

| Endpoint                                                         | Request                                                                       |
| ---------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [List Audiences](/api-reference/beta/audiences/list-audiences)   | <Badge color="blue" size="sm" stroke>GET</Badge> `/audiences`                 |
| [Create Audience](/api-reference/beta/audiences/create-audience) | <Badge color="green" size="sm" stroke>POST</Badge> `/audiences`               |
| [Delete Audience](/api-reference/beta/audiences/delete-audience) | <Badge color="red" size="sm" stroke>DELETE</Badge> `/audiences/{audience_id}` |

## Attributes

<Columns cols={2}>
  <Column>
    <ResponseField name="created_at" type="number" required>
      Unix timestamp when the audience was created.
    </ResponseField>

    <ResponseField name="error_message" type="string | null" required>
      Processing error message. `null` unless processing is partial or failed.
    </ResponseField>

    <ResponseField name="id" type="string" required>
      Audience ID, prefixed `adaud_`.
    </ResponseField>

    <ResponseField name="matched_rows" type="number" required>
      Rows successfully uploaded to connected ad accounts.
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Audience display name.
    </ResponseField>

    <ResponseField name="platform_audience_ids" type="string[]" required>
      External audience IDs created on connected ad platforms, such as Meta.
    </ResponseField>

    <ResponseField name="processed_rows" type="number" required>
      Rows processed from the uploaded CSV.
    </ResponseField>

    <ResponseField name="progress_percent" type="number" required>
      Processing progress from 0 to 100.
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Current state of the audience import. `syncing` means Whop is sending matched rows to connected ad accounts. When status is `partial` or `failed`, `error_message` explains what went wrong.

      Available options: `pending`, `processing`, `syncing`, `ready`, `partial`, `failed`
    </ResponseField>

    <ResponseField name="total_rows" type="number" required>
      Total rows detected in the uploaded CSV.
    </ResponseField>

    <ResponseField name="updated_at" type="number" required>
      Unix timestamp when the audience was last updated.
    </ResponseField>
  </Column>

  <Column>
    <div className="api-resource-sticky-example">
      ```json Audience theme={null}
      {
      	"id": "adaud_PastPurchasers123",
      	"name": "Past purchasers",
      	"status": "ready",
      	"total_rows": 2500,
      	"processed_rows": 2500,
      	"matched_rows": 1830,
      	"progress_percent": 100,
      	"error_message": null,
      	"platform_audience_ids": ["120246230799130686"],
      	"created_at": 1764547200,
      	"updated_at": 1764550800
      }
      ```
    </div>
  </Column>
</Columns>
