• iOS
  • Android
  • Windows
  • Web
  • Cordova
  • Unity
  • Adobe Air
  • Dashboard
  • API
  • Guides
  • Third Party Integrations
  • FAQ
  • API > Custom Audience API

    POST - Create

    The Custom Audience API enables you to create, update, delete and list custom audiences. A custom audience can contain a list of custom user IDs or advertising IDs (GAID or IDFA).

    This is useful to target segments with push notifications or In-App messages, either they are coming from your userbase or created by third-party tools.

    Custom audiences created using the API can be targeted from Batch’s dashboard or the Campaigns API.

    Request structure


    The Custom Audience API exposes a POST endpoint that allows to create a custom audience :


    Here is a valid cURL example:

    curl -H "Content-Type: application/json" -H "X-Authorization: BATCH_REST_API_KEY" -X POST -d "@payload.json" "https://api.batch.com/1.0/BATCH_API_KEY/custom-audience/AUDIENCE_NAME"

    The AUDIENCE_NAME value must be a string that only contains letters, numbers or the following characters : _, -.

    The BATCH_API_KEY value is either your Live or Dev Batch API key from the settings page of your app within the dashboard (⚙ Settings → General).


    In order to authenticate with the API, you need to provide your company REST API Key as the value of the X-Authorization header.

    Post data

    The body of the request must contain a valid JSON payload describing the operations to be executed on the custom audience.

    Here is a how a complete JSON payload looks like:

        "type": "custom_ids",
        "description" : "The audience description"

    Let's see the parameters in detail.

    Id Description
    type string - Required
    Type of the audience.
    Acceptable values include: custom_ids or advertising_ids.
    description string - Optional
    Description of the audience.
    E.g.{"description":"The audience description"}



    If the POST to the API endpoint is successful you will receive an HTTP 200 confirmation and an empty json payload.


    If the POST data does not meet the API requirements you will receive an actionable error message. Contact us at support@batch.com if you need further support.

    • AUTHENTICATION_INVALID (Http status code: 401, Error code: 10)
    • ROUTE_NOT_FOUND (Http status code: 404, Error code: 20)
    • MISSING_PARAMETER (Http status code: 400, Error code: 30)
    • MALFORMED_PARAMETER (Http status code: 400, Error code: 31)
    • MALFORMED_JSON_BODY (Http status code: 400, Error code: 32)
    • ENTITY_ALREADY_EXISTS (Http status code: 400, Error code: 33)
    • SERVER_ERROR (Http status code: 500, Error code: 1)
    • MAINTENANCE_ERROR (Http status code: 503, Error code: 2)