---
title: "Export customer data"
method: POST
path: "/v1/exports/customers"
tags: ["Exports"]
---

# Export customer data

`POST /v1/exports/customers`

Provide filters and attributes describing the customers you want to export. This endpoint returns export metadata; use the `/exports/{export_id}/endpoint` to download your export.

## Request body

- object
  - `filters` union, required — Use `and`, `or`, and `not` to combine segment and attribute conditions. The top-level object accepts one property; nest groups for complex filters.
    - object
      - `and` object[] — Match *all* conditions to return results.
        - `or` SimpleAudienceFilter[] — Returns results matching *any* conditions.
          - union
            - object — Filter for people who belong to a segment.
              - …
            - object — filter for people who have an attribute or an attribute value.
              - …
        - `not` union — Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object.
          - object
            - `and` SimpleAudienceFilter[] — Match *all* conditions to return results.
              - …
          - object
            - `or` SimpleAudienceFilter[] — Match *any* condition to return results.
              - …
          - object
            - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
              - …
          - object
            - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
              - …
        - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
          - `id` integer — The ID of the segment you want to return people from.
        - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
          - `field` string, required — The name of the attribute you want to filter against.
          - `operator` 'eq' | 'exists', required — Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify.
          - `value` string — The value you want to match for this attribute. You must include a value if you use the `eq` operator.
    - object
      - `or` object[] — Match *any* condition to return results.
        - `and` SimpleAudienceFilter[] — Returns results matching *all* conditions.
          - union
            - object — Filter for people who belong to a segment.
              - …
            - object — filter for people who have an attribute or an attribute value.
              - …
        - `not` union — Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object.
          - object
            - `and` SimpleAudienceFilter[] — Match *all* conditions to return results.
              - …
          - object
            - `or` SimpleAudienceFilter[] — Match *any* condition to return results.
              - …
          - object
            - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
              - …
          - object
            - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
              - …
        - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
          - `id` integer — The ID of the segment you want to return people from.
        - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
          - `field` string, required — The name of the attribute you want to filter against.
          - `operator` 'eq' | 'exists', required — Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify.
          - `value` string — The value you want to match for this attribute. You must include a value if you use the `eq` operator.
    - object
      - `and` ComplexAudienceFilter[] — Match *all* conditions to return results.
        - `and` SimpleAudienceFilter[] — Returns results matching *all* conditions.
          - union
            - object — Filter for people who belong to a segment.
              - …
            - object — filter for people who have an attribute or an attribute value.
              - …
        - `or` SimpleAudienceFilter[] — Returns results matching *any* conditions.
          - union
            - object — Filter for people who belong to a segment.
              - …
            - object — filter for people who have an attribute or an attribute value.
              - …
        - `not` union — Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object.
          - object
            - `and` SimpleAudienceFilter[] — Match *all* conditions to return results.
              - …
          - object
            - `or` SimpleAudienceFilter[] — Match *any* condition to return results.
              - …
          - object
            - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
              - …
          - object
            - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
              - …
        - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
          - `id` integer — The ID of the segment you want to return people from.
        - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
          - `field` string, required — The name of the attribute you want to filter against.
          - `operator` 'eq' | 'exists', required — Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify.
          - `value` string — The value you want to match for this attribute. You must include a value if you use the `eq` operator.
    - object
      - `or` ComplexAudienceFilter[] — Match *any* condition to return results.
        - `and` SimpleAudienceFilter[] — Returns results matching *all* conditions.
          - union
            - object — Filter for people who belong to a segment.
              - …
            - object — filter for people who have an attribute or an attribute value.
              - …
        - `or` SimpleAudienceFilter[] — Returns results matching *any* conditions.
          - union
            - object — Filter for people who belong to a segment.
              - …
            - object — filter for people who have an attribute or an attribute value.
              - …
        - `not` union — Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object.
          - object
            - `and` SimpleAudienceFilter[] — Match *all* conditions to return results.
              - …
          - object
            - `or` SimpleAudienceFilter[] — Match *any* condition to return results.
              - …
          - object
            - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
              - …
          - object
            - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
              - …
        - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
          - `id` integer — The ID of the segment you want to return people from.
        - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
          - `field` string, required — The name of the attribute you want to filter against.
          - `operator` 'eq' | 'exists', required — Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify.
          - `value` string — The value you want to match for this attribute. You must include a value if you use the `eq` operator.
    - object
      - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
        - `id` integer — The ID of the segment you want to return people from.
    - object
      - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
        - `field` string, required — The name of the attribute you want to filter against.
        - `operator` 'eq' | 'exists', required — Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify.
        - `value` string — The value you want to match for this attribute. You must include a value if you use the `eq` operator.
    - object — Filter for people who belong to a segment.
      - `segment` SegmentAudienceFilter — Provide the `id` of a segment containing people you want to search for.
        - `id` integer — The ID of the segment you want to return people from.
    - object — filter for people who have an attribute or an attribute value.
      - `attribute` AttributeAudienceFilter — Filter your audience by attribute.
        - `field` string, required — The name of the attribute you want to filter against.
        - `operator` 'eq' | 'exists', required — Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify.
        - `value` string — The value you want to match for this attribute. You must include a value if you use the `eq` operator.
  - `attributes` string[] — Recipient attributes you want to include as extra columns in your export.

## Response `200`

Returns an export.

- object
  - `export` ExportObject — Metadata about an export.
    - `id` integer — The identifier for the export.
    - `user_id` integer — The user who created the export.
    - `user_email` string — The email of the user who created the export.
    - `total` integer — The number of entries in the export. Exports report 0 until done.
    - `deduplicate_id` string — An identifier in the format `id:timestamp` where the id is for the object you're working with (Automations, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated.
    - `type` 'customers' | 'deliveries' — The type of information contained in the export.
    - `failed` boolean — If true, the export was unsuccessful.
    - `description` string — A description of the export.
    - `downloads` integer — Counts the total number of times the export has been downloaded.
    - `created_at` integer — The date time when the referenced ID was created.
    - `updated_at` integer — The date time when the referenced ID was last updated.
    - `status` 'done' | 'pending' | 'failed' — The state of your export where `done` indicates an export that you can download, `pending`, indicates that your export is not ready to download, and `failed` indicates an export that has failed and will not be downloadable.

## Other responses

- `400` — The request is malformed.
- `429` — Your request is over the 10-per-second limit. `Retry-After` tells you how many seconds you must wait before you send the next request.

## Changes

- **2026-09-02** `5da2740beeb5` — 1 info
  - added the media type `application/json` for the response with the status `429`

[Change history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/exports/customers/post.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) · [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/customer/customer-io-journeys-api-reference/revisions/00b93971a49f/schema)
