AppsFlyer Import audience API

The Import audience API from AppsFlyer — 1 operation(s) for import audience.

Operations 1

POST /v2/{action} Import a new audience #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appsflyer-import-audience-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appsflyer-import-audience-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Audience Import Import audience API
  version: 1.0.0
servers:
- url: https://hq1.appsflyer.com/api/audiences-import-api/
security:
- bearerAuth: []
tags:
- name: Import audience
paths:
  /v2/{action}:
    post:
      tags:
      - Import audience
      summary: Import a new audience
      description: '> ⚠️ Important

        >

        > All API V2 tokens generated before March 10, 2026, 19:00 UTC have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens).

        '
      operationId: audience-import-post
      parameters:
      - name: action
        in: path
        description: '- To add devices: `add`

          - To remove devices: `remove`

          - To overwrite devices: `overwrite`

          > ⚠️ **Warning**

          > Using the `overwrite` action incorrectly can result in unintentional data loss

          '
        schema:
          type: string
          enum:
          - ''
          - add
          - remove
          - overwrite
        required: true
      requestBody:
        content:
          application/json:
            schema:
              required:
              - import_key
              - platform
              - devices
              type: object
              properties:
                import_key:
                  type: string
                  example: EKFH2UMC5PPCU8J7M5QQCBPKIH89E6NCOB7XQFWMC
                  description: "Unique key that identifies the audience\n- Use the same `import_key` for both the add and remove endpoints. \n"
                platform:
                  type: string
                  enum:
                  - ''
                  - ios
                  - android
                devices:
                  type: array
                  description: 'Required identifiers:

                    For **Android** audiences: `app_id` + one of: `gaid` OR `oiad` OR `imei` OR `cuid` OR `braze_id` OR `amplitude_id`

                    For **iOS** audiences: `app_id` + one of: `idfv` OR `cuid` OR `braze_id` OR `amplitude_id`

                    *Note*: `app_id` is not required for as-is audiences.

                    '
                  items:
                    $ref: '#/components/schemas/device_identifier'
        required: true
      responses:
        '200':
          description: Created audience successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success_response'
              example:
                message: The request was successful
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                Audience exists:
                  summary: Invalid audience platform
                  value:
                    messege: Invalid audience platform, this audience is already configured for Android/iOS. To use a different platform, please create a new audience in the UI
                No app Id:
                  summary: No app_id
                  value:
                    message: X or more of your rows do not contain an app id. You must attach an app id to each row.
                No valid unique identifier:
                  summary: No valid unique identifier
                  value:
                    message: X or more of your rows does not contain a valid unique identifier
                Reached devices limit:
                  summary: Reached devices limit
                  value:
                    message: Cannot process more than Y devices per request (n devices counted in this request)
                Device list empty:
                  summary: Device list empty
                  value:
                    message: Device list cannot be empty
                Unkown device ID:
                  summary: Unkown device ID
                  value:
                    message: We couldn’t understand one or more of your device IDs
                Cannot remove:
                  summary: Cannot remove
                  value:
                    message: X or more of devices to remove contain more than one identifier per device
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                Forbidden:
                  summary: Unauthorized request
                  value:
                    message: Forbidden
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                TooManyRequests:
                  summary: Too many requests
                  value:
                    message: Too many requests
components:
  schemas:
    success_response:
      required:
      - message
      properties:
        message:
          type: string
    error_response:
      required:
      - message
      properties:
        message:
          type: string
    device_identifier:
      type: object
      properties:
        app_id:
          type: string
        idfv:
          type: string
        idfa:
          type: string
        gaid:
          type: string
        oaid:
          type: string
        imei:
          type: string
        cuid:
          type: string
        emails:
          type: string
        phone:
          type: string
        phone_e164:
          type: string
        braze_id:
          type: string
        amplitude_id:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: '**Important: API V2 Token Revocation**

        All API V2 tokens generated before March 10, 2026, 19:00 UTC have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens).


        Token required for authorization. Please refer to [this link](https://support.appsflyer.com/hc/en-us/articles/360004562377) for instructions on how to obtain the token.

        '