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

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1 Get SKAN 3 conversion value schemas · Get SKAN 3 CV schema #
Ask an LLM
“As an ad network, how do I fetch advertisers' SKAN 3 conversion value mappings?”
“Will I get every app's SKAN 3 schema if I pass no app ID?”
Tell an agent
Get the SKAN 3 CV schema for app {app_id}.
List SKAN 3 conversion value mappings for all my apps.
GET /v2 Get SKAN 4 conversion value schemas · Get SKAN 4 CV schema #
Ask an LLM
“Where do I get the SKAN 4 conversion value schema with its postback windows?”
“Can I pull SKAN 4 schemas for several apps at once?”
Tell an agent
Get the SKAN 4 CV schema for app {app_id}.
List SKAN 4 conversion value mappings for every app.

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: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:
    LockWindowType:
      type: string
      description: 'The trigger that causes the window to lock. Possible values: `in-app`, `time`, `high-coarse`, `other`

        '
    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
    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'
    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'
    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'
    LockWindowEvent:
      type: string
      description: 'The name of the in-app event that locks the window

        '
    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'
    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'
    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)
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT