AppsFlyer SKAN CV schema API for ad networks API

The SKAN CV schema API for ad networks API from AppsFlyer — 2 operation(s) for skan cv schema api for ad networks.

Operations 2

GET /v1 Get SKAN 3 CV schema #
GET /v2 Get SKAN 4 CV schema #

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-skan-cv-schema-api-for-ad-networks-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-skan-cv-schema-api-for-ad-networks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SKAN CV schema API for ad networks API
  version: '0.1'
servers:
- url: https://hq1.appsflyer.com/api/skad/conversion_schema
security:
- bearerAuth: []
tags:
- name: SKAN CV schema API for ad networks
paths:
  /v1:
    get:
      tags:
      - SKAN CV schema API for ad networks
      summary: Get SKAN 3 CV schema
      description: Specify one or more apps using the app ID
      operationId: get-conversion-value-mapping-schema
      parameters:
      - name: app_id
        in: query
        description: Set 0-many app IDs. If no app ID is set, the schema of all apps returns. In all other cases, the schema of the specified app IDs returns.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      app_id:
                        type: string
                        description: App Store app id
                      configuration_mode:
                        type: string
                        description: Measurment mode selected set by the advertiser
                      last_config_change:
                        type: string
                        description: Time the advertiser updated the conversion value settings
                      measurement_window:
                        type: integer
                        description: Activity window duration (in hours)
                      conversion_value_mapping:
                        type: array
                        description: Conversion values mapping
                        items:
                          $ref: '#/components/schemas/CvMapping'
              example:
                data:
                - app_id: id12345678
                  configuration_mode: custom_decode
                  measurement_window: 24
                  last_config_change: '2021-02-03 09:32:07.362'
                  conversion_value_mapping:
                  - conversion_value: 1
                    events:
                    - event_name: af_purchase
                      mapped_event_name: af_purchase
                      conversion_event: false
                      event_counter: 3
                      event_revenue: 5
                      min_event_counter: 3
                      max_event_counter: 6
                      min_event_revenue: 4.001
                      max_event_revenue: 5
                      event_currency: USD
                      event_revenue_usd: 5
                    min_time_post_install: 6
                    max_time_post_install: 12
                  - conversion_value: 34
                    events:
                    - event_name: NewDevice
                      mapped_event_name: NewDevice
                      conversion_event: true
                      event_counter: 5
                      event_revenue: 6
                      min_event_revenue: 5.001
                      max_event_revenue: 6
                      event_currency: USD
                      event_revenue_usd: 6
                    - event_name: AchievedLevel1
                      mapped_event_name: AchievedLevel1
                      conversion_event: false
                      event_counter: 6
        '400':
          description: Request is malformed
          content:
            application/json:
              examples:
                Request malformed:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: Authentication error
          content:
            text/plain:
              examples:
                Authentication error:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '404':
          description: Server error or resource temporarily not found
          content:
            text/plain:
              examples:
                Server error:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '429':
          description: Exceeded rate limitation
          content:
            text/plain:
              examples:
                Result:
                  value: Exceeded rate limitation
  /v2:
    get:
      tags:
      - SKAN CV schema API for ad networks
      summary: Get SKAN 4 CV schema
      description: Specify one or more apps using the app ID
      operationId: get-conversion-value-mapping-schema-v2
      parameters:
      - name: app_id
        in: query
        description: Set 0-many app IDs. If no app ID is set, the schema of all apps returns. In all other cases, the schema of the specified app IDs returns.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      app_id:
                        type: string
                        description: App Store app ID
                      configuration_mode:
                        type: string
                        enum:
                        - skan4
                        description: Measurement mode selected set by the advertiser
                      last_config_change:
                        type: string
                        description: Time the advertiser updated the conversion value settings
                      measurement_window:
                        type: integer
                        description: Measurement window duration (in hours)
                      postbacks:
                        type: array
                        items:
                          anyOf:
                          - $ref: '#/components/schemas/Postback_First'
                          - $ref: '#/components/schemas/Postback_SecondThird'
              example:
                data:
                  app_id: id12345678
                  last_config_change: '2022-11-07 09:32:07.362'
                  configuration_mode: skan4
                  postbacks:
                  - postback_sequence_index: 0
                    measurement_window: 48
                    lock_window_type: in-app
                    lock_window_event: af_purchase
                    conversion_value_mapping:
                      fine:
                      - conversion_value: 0
                        min_time_post_install: 0
                        max_time_post_install: 48
                        events: []
                      - conversion_value: 5
                        min_time_post_install: 0
                        max_time_post_install: 48
                        events:
                        - event_name: af_trial_purchase
                          mapped_event_name: mobile_add_to_cart
                          conversion_event: false
                          event_counter: 1
                          min_event_counter: 0
                          max_event_counter: 1
                      coarse:
                      - conversion_value: low
                        min_time_post_install: 0
                        max_time_post_install: 48
                        events:
                        - event_name: af_app_opened
                          mapped_event_name: mobile_active_app
                          conversion_event: false
                          event_counter: 1
                          min_event_counter: 0
                          max_event_counter: 1
                          min_event_revenue: 4.001
                          max_event_revenue: 5
                          event_currency: USD
                          event_revenue_usd: 4.5
                  - postback_sequence_index: 1
                    measurement_window: 168
                    lock_window_type: in-app
                    lock_window_event: af_purchase
                    conversion_value_mapping:
                      coarse:
                      - conversion_value: medium
                        measurement_window: 168
                        min_time_post_install: 48
                        max_time_post_install: 168
                        events:
                        - event_name: af_app_opened
                          mapped_event_name: mobile_active_app
                          conversion_event: false
                          event_counter: 1
                          min_event_counter: 0
                          max_event_counter: 1
                          min_event_revenue: 4.001
                          max_event_revenue: 5
                          event_currency: USD
                          event_revenue_usd: 4.5
                  - postback_sequence_index: 2
                    measurement_window: 840
                    lock_window_type: high-coarse
                    conversion_value_mapping:
                      coarse:
                      - conversion_value: high
                        measurement_window: 840
                        min_time_post_install: 168
                        max_time_post_install: 840
                        events:
                        - event_name: rv_10
                          mapped_event_name: mobile_add_to_cart
                          conversion_event: false
                          event_counter: 1
                          min_event_counter: 0
                          max_event_counter: 1
                          min_event_revenue: 4.001
                          max_event_revenue: 5
                          event_currency: USD
                          event_revenue_usd: 4.5
        '400':
          description: Request is malformed
          content:
            application/json:
              examples:
                Request malformed:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: Authentication error
          content:
            text/plain:
              examples:
                Authentication error:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '404':
          description: Server error or resource temporarily not found
          content:
            text/plain:
              examples:
                Server error:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '429':
          description: Exceeded rate limitation
          content:
            text/plain:
              examples:
                Result:
                  value: Exceeded rate limitation
components:
  schemas:
    CvMapping:
      properties:
        conversion_value:
          description: Conversion value
          type: integer
          minimum: 0
          maximum: 63
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventV3'
        min_time_post_install:
          type: integer
          description: The lower bound, hours post-install, indicating when the user was last active in the app.
        max_time_post_install:
          type: integer
          description: The upper bound, hours post-install, indicating when the user was last active in the app
    LockWindowEvent:
      type: string
      description: 'The name of the in-app event that locks the window

        '
    Postback_SecondThird:
      title: Second and third postbacks
      properties:
        postback_sequence_index:
          type: integer
          description: 'Integer that represents the sequence number of SKAN postback. Possible values: 1, 2

            '
        measurement_window:
          $ref: '#/components/schemas/MeasurementWindow'
        lock_window_type:
          $ref: '#/components/schemas/LockWindowType'
        lock_window_event:
          $ref: '#/components/schemas/LockWindowEvent'
        conversion_value_mapping:
          type: array
          description: Conversion values mapping
          items:
            type: object
            properties:
              coarse:
                type: array
                items:
                  $ref: '#/components/schemas/CoarseConversionValue'
    EventV3:
      properties:
        event_name:
          type: string
          description: Advertiser in-app event name
        mapped_event_name:
          type: string
          description: Partner's in-app event name. The advertiser maps event_name to mapped_event_name on a per app basis in AppsFlyer.
        event_counter:
          type: integer
          description: The number of times the user performed an event.
        conversion_event:
          type: boolean
          description: In the case of more than one event, if true, this event is a conversion event as defined by the advertiser
        event_currency:
          type: string
          description: Currency for event_revenue
        event_revenue:
          type: integer
          description: In case of a revenue event, monetary value using event_currency
        min_event_revenue:
          type: number
          format: float
          description: The lower bound of the event revenue range
        max_event_revenue:
          type: number
          format: float
          description: 'The upper bound of the event counter range. Example: To calculate the revenue, (min_event_revenue + max_event_revenue)/2'
        event_revenue_usd:
          type: number
          format: float
          description: In case of a revenue event, monetary value
        min_event_counter:
          type: integer
          description: The lower bound of the event counter range
        max_event_counter:
          type: integer
          description: 'The upper bound of the event counter range. Example: To calcualte the number of ocurrences, roundup (min_event_counter + max_event_counter )/ 2'
    CoarseConversionValue:
      properties:
        conversion_value:
          description: 'Conversion value. Possible values: `low`, `medium`, `high`'
          type: string
          enum:
          - low
          - medium
          - high
        min_time_post_install:
          type: integer
          description: The lower bound of hours post-install, indicating when the user was last active in the app.
        max_time_post_install:
          type: integer
          description: The upper bound of hours post-install, indicating when the user was last active in the app
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventV4'
    Postback_First:
      title: First postback
      properties:
        postback_sequence_index:
          type: integer
          description: "Integer that represents the sequence number of SKAN postback Possible values: `0` \n"
        measurement_window:
          $ref: '#/components/schemas/MeasurementWindow'
        lock_window_type:
          $ref: '#/components/schemas/LockWindowType'
        lock_window_event:
          $ref: '#/components/schemas/LockWindowEvent'
        conversion_value_mapping:
          type: array
          description: Conversion values mapping
          items:
            type: object
            properties:
              fine:
                type: array
                items:
                  $ref: '#/components/schemas/FineConversionValue'
              coarse:
                type: array
                items:
                  $ref: '#/components/schemas/CoarseConversionValue'
    LockWindowType:
      type: string
      description: 'The trigger that causes the window to lock. Possible values: `in-app`, `time`, `high-coarse`, `other`

        '
    FineConversionValue:
      properties:
        conversion_value:
          description: 'Conversion value. Possible values: 0-63'
          type: integer
          minimum: 0
          maximum: 63
        min_time_post_install:
          type: integer
          description: The lower bound of hours post-install, indicating when the user was last active in the app.
        max_time_post_install:
          type: integer
          description: The upper bound of hours post-install, indicating when the user was last active in the app
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventV4'
    MeasurementWindow:
      type: integer
      description: Activity window duration (in hours)
    EventV4:
      properties:
        event_name:
          type: string
          description: Advertiser in-app event name
        mapped_event_name:
          type: string
          description: Partner's in-app event name. The advertiser maps event_name to mapped_event_name on a per app basis in AppsFlyer.
        event_counter:
          type: integer
          description: The number of times the user performed an event.
        conversion_event:
          type: boolean
          description: In the case of more than one event, if true, this event is a conversion event as defined by the advertiser
        event_currency:
          type: string
          description: Currency for `min_event_revenue` and `max_event_revenue`
        min_event_revenue:
          type: number
          format: float
          description: The lower bound of the event revenue range
        max_event_revenue:
          type: number
          format: float
          description: 'The upper bound of the event counter range. Example: To calculate the revenue, (min_event_revenue + max_event_revenue)/2'
        event_revenue_usd:
          type: number
          format: float
          description: In case of a revenue event, monetary value
        min_event_counter:
          type: integer
          description: The lower bound of the event counter range
        max_event_counter:
          type: integer
          description: 'The upper bound of the event counter range. Example: To calcualte the number of ocurrences, roundup (min_event_counter + max_event_counter )/ 2'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT