---
title: "Create a new CustomerSet."
method: POST
path: "/cm/v1/customer-sets"
tags: ["CustomerSet"]
---

# Create a new CustomerSet.

`POST /cm/v1/customer-sets`

Create a new CustomerSet.

## Query parameters

- `ad_account_id` string, required

## Request body

- DspCustomerSet — CustomerSet represents a group of user identifiers can be used in Moloco Ads. (e.g. Targeting, Audience Lift model generation and so on).
  - `id` string — Unique identifier of the CustomerSet. Automatically set by server on creation.
  - `title` string, required — A descriptive name of the CustomerSet.
  - `description` string — An optional description of the CustomerSet.
  - `id_type` 'UNKNOWN_ID_TYPE' | 'GOOGLE_ADID' | 'APPLE_IDFA', required — - UNKNOWN_ID_TYPE: Unknown user ID type. - GOOGLE_ADID: Google Android advertising ID type. - APPLE_IDFA: Apple iOS advertising ID type.
  - `status` 'UNKNOWN_STATUS' | 'PREPARING' | 'READY' | 'FAILED' — Unknown status. - PREPARING: Premature status. - READY: Ready. - FAILED: Failed to be ready.
  - `data_file_path` string, required — Data source path of users. ex) gcs path for txt file of specific-type user lists (query result for postback, or journal...). APPLE_IDFA user list txt file example: (one idfa per line). ______________________________________ 8a05cce7-da5c-4980-8cef-2603ae1742b6 ffffffff-ffff-4fff-8fff-ffffffffffff
  - `is_upper` boolean — A flag indicating that identifiers are upper-cased. False if they are lower-cased.
  - `auto_delete_at` string, date-time — CustomerSet used nowhere for specific time will be removed automatically. It represents when this will be deleted in UTC.
  - `created_at` string, date-time — Created time.
  - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
  - `recent_file_update_info` CustomerSetFileUpdateInfo
    - `status` 'UNKNOWN_STATUS' | 'IN_PROGRESS' | 'SUCCESS' | 'FAILED' — - IN_PROGRESS: Update is in progress. - SUCCESS: Update succeed. - FAILED: Update failed. Please check the contents format.
    - `timestamp` string, date-time — Update timestamp.
    - `file_name` string — Updated file name.
  - `status_detail` CustomerSetCustomerSetStatusDetail
    - `connection_method` 'UNKNOWN_METHOD' | 'CLOUD_API' | 'MCP_UPLOAD' | 'AF_AUDIENCE_BUILDER' | 'BESPOKE' — Connection method is an indicator of how the customer set file is updated. - CLOUD_API: Update via cloud API - MCP_UPLOAD: MCP Upload - AF_AUDIENCE_BUILDER: AF Audience Builder - BESPOKE: Bespoke
    - `error_id` 'UNKNOWN_ERROR_ID' | 'TAGGING_ERROR' | 'REQUEST_ERROR' | 'PREPROCESSING_ERROR' | 'GENERIC_ERROR' — Error id is an indicator of the error type.
    - `error_description` string — Error description is a detailed description of the error.
    - `csv_file_size` integer
    - `aud_size` integer — Audience size is the size of the audience in bytes.
  - `file_update_histories` CustomerSetFileUpdateHistory[]
    - `status` 'UNKNOWN_STATUS' | 'PREPARING' | 'READY' | 'FAILED' — Unknown status. - PREPARING: Premature status. - READY: Ready. - FAILED: Failed to be ready.
    - `status_detail` CustomerSetCustomerSetStatusDetail
      - `connection_method` 'UNKNOWN_METHOD' | 'CLOUD_API' | 'MCP_UPLOAD' | 'AF_AUDIENCE_BUILDER' | 'BESPOKE' — Connection method is an indicator of how the customer set file is updated. - CLOUD_API: Update via cloud API - MCP_UPLOAD: MCP Upload - AF_AUDIENCE_BUILDER: AF Audience Builder - BESPOKE: Bespoke
      - `error_id` 'UNKNOWN_ERROR_ID' | 'TAGGING_ERROR' | 'REQUEST_ERROR' | 'PREPROCESSING_ERROR' | 'GENERIC_ERROR' — Error id is an indicator of the error type.
      - `error_description` string — Error description is a detailed description of the error.
      - `csv_file_size` integer
      - `aud_size` integer — Audience size is the size of the audience in bytes.
    - `updated_at` string, date-time — Updated at is the timestamp when the status is changed.

## Response `200`

A successful response.

- MessagesCreateCustomerSetResponse
  - `customer_set` DspCustomerSet — CustomerSet represents a group of user identifiers can be used in Moloco Ads. (e.g. Targeting, Audience Lift model generation and so on).
    - `id` string — Unique identifier of the CustomerSet. Automatically set by server on creation.
    - `title` string, required — A descriptive name of the CustomerSet.
    - `description` string — An optional description of the CustomerSet.
    - `id_type` 'UNKNOWN_ID_TYPE' | 'GOOGLE_ADID' | 'APPLE_IDFA', required — - UNKNOWN_ID_TYPE: Unknown user ID type. - GOOGLE_ADID: Google Android advertising ID type. - APPLE_IDFA: Apple iOS advertising ID type.
    - `status` 'UNKNOWN_STATUS' | 'PREPARING' | 'READY' | 'FAILED' — Unknown status. - PREPARING: Premature status. - READY: Ready. - FAILED: Failed to be ready.
    - `data_file_path` string, required — Data source path of users. ex) gcs path for txt file of specific-type user lists (query result for postback, or journal...). APPLE_IDFA user list txt file example: (one idfa per line). ______________________________________ 8a05cce7-da5c-4980-8cef-2603ae1742b6 ffffffff-ffff-4fff-8fff-ffffffffffff
    - `is_upper` boolean — A flag indicating that identifiers are upper-cased. False if they are lower-cased.
    - `auto_delete_at` string, date-time — CustomerSet used nowhere for specific time will be removed automatically. It represents when this will be deleted in UTC.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `recent_file_update_info` CustomerSetFileUpdateInfo
      - `status` 'UNKNOWN_STATUS' | 'IN_PROGRESS' | 'SUCCESS' | 'FAILED' — - IN_PROGRESS: Update is in progress. - SUCCESS: Update succeed. - FAILED: Update failed. Please check the contents format.
      - `timestamp` string, date-time — Update timestamp.
      - `file_name` string — Updated file name.
    - `status_detail` CustomerSetCustomerSetStatusDetail
      - `connection_method` 'UNKNOWN_METHOD' | 'CLOUD_API' | 'MCP_UPLOAD' | 'AF_AUDIENCE_BUILDER' | 'BESPOKE' — Connection method is an indicator of how the customer set file is updated. - CLOUD_API: Update via cloud API - MCP_UPLOAD: MCP Upload - AF_AUDIENCE_BUILDER: AF Audience Builder - BESPOKE: Bespoke
      - `error_id` 'UNKNOWN_ERROR_ID' | 'TAGGING_ERROR' | 'REQUEST_ERROR' | 'PREPROCESSING_ERROR' | 'GENERIC_ERROR' — Error id is an indicator of the error type.
      - `error_description` string — Error description is a detailed description of the error.
      - `csv_file_size` integer
      - `aud_size` integer — Audience size is the size of the audience in bytes.
    - `file_update_histories` CustomerSetFileUpdateHistory[]
      - `status` 'UNKNOWN_STATUS' | 'PREPARING' | 'READY' | 'FAILED' — Unknown status. - PREPARING: Premature status. - READY: Ready. - FAILED: Failed to be ready.
      - `status_detail` CustomerSetCustomerSetStatusDetail
        - `connection_method` 'UNKNOWN_METHOD' | 'CLOUD_API' | 'MCP_UPLOAD' | 'AF_AUDIENCE_BUILDER' | 'BESPOKE' — Connection method is an indicator of how the customer set file is updated. - CLOUD_API: Update via cloud API - MCP_UPLOAD: MCP Upload - AF_AUDIENCE_BUILDER: AF Audience Builder - BESPOKE: Bespoke
        - `error_id` 'UNKNOWN_ERROR_ID' | 'TAGGING_ERROR' | 'REQUEST_ERROR' | 'PREPROCESSING_ERROR' | 'GENERIC_ERROR' — Error id is an indicator of the error type.
        - `error_description` string — Error description is a detailed description of the error.
        - `csv_file_size` integer
        - `aud_size` integer — Audience size is the size of the audience in bytes.
      - `updated_at` string, date-time — Updated at is the timestamp when the status is changed.

## Other responses

- `default` — Error. Detailed cause can be found in the `details` field.

---

[API](https://skmtc.net/moloco/apis/moloco-ads-campaign-management-api.md) · [All operations](https://skmtc.net/moloco/apis/moloco-ads-campaign-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/moloco/moloco-ads-campaign-management-api/revisions/5c85d0910ac0/schema)
