AppsFlyer Download Events API

The Download Events API from AppsFlyer — 1 operation(s) for download events.

Operations 1

POST /{app_id} Download event

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-download-events-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-download-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appsflyer Download Events API
  version: '1.0'
  description: 'Operations tagged Download Events across 2 of this provider''s published API definitions: appsflyer-preload-c2s-measurement-api-openapi.yml, appsflyer-preload-measurement-api-1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://engagements.appsflyer.com/v1.0/c2s/download/app/android
  description: Production server
- url: https://sandbox-engagements.appsflyer.com/v1.0/c2s/download/app/android/
  description: Sandbox server
- url: https://engagements.appsflyer.com/v1.0/s2s/download/app/android
  description: Production server
- url: https://sandbox-engagements.appsflyer.com/v1.0/s2s/download/app/android/
  description: Sandbox server
security:
- HeaderApiKeyAuth: []
tags:
- name: Download Events
paths:
  /{app_id}:
    post:
      tags:
      - Download Events
      summary: Download event
      security:
      - HeaderApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/AppId'
      requestBody:
        $ref: '#/components/requestBodies/CommonBody'
      responses:
        '202':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AuthenticationFailed'
        '500':
          $ref: '#/components/responses/NotImplemented'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
    servers:
    - url: https://engagements.appsflyer.com/v1.0/c2s/download/app/android
      description: Production server
    - url: https://sandbox-engagements.appsflyer.com/v1.0/c2s/download/app/android/
      description: Sandbox server
components:
  schemas:
    AfDeviceIdValue:
      type: string
      description: "Device identifier type.\nDepends on the device identifier provided. \nIn case it is `gaid`, the value must be in a UUID format\n"
    AfMediaSource:
      type: string
      pattern: ^[^+-=@]
      description: 'This is the partner unique identifier as defined on AppsFlyer platform.

        It cannot start with: +,-,=,@

        '
    AfDeviceIdEncoding:
      type: string
      enum:
      - sha256
      description: Device identifier encoding method
    AfSubSiteId:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Ad sub-network / Publisher ID
    AfDeviceIdType:
      type: string
      enum:
      - gaid
      - oaid
      description: Device identifier type
    AfAdId:
      type: string
      maxLength: 64
      pattern: ^[^+-=@]
      description: Ad ID
    AfAdType:
      type: string
      enum:
      - text
      - banner
      - interstitial
      - video
      - rewarded_video
      - playable
      - audio
      description: 'Ad network unique transaction identifiers.

        '
    AfCustom:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Optional custom parameter defined by the advertiser
    AfCostValue:
      type: string
      pattern: ^[0-9]*(\.)?[0-9]+$
    AfAdSetId:
      type: string
      pattern: ^[^+-=@]
      maxLength: 64
      description: Ad Set ID
    AfAdSet:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Ad Set Name
    AflookbackWindow:
      type: string
      maxLength: 256
      description: "Attribution lookback window\nConfigurable number of days/hours for the lookback window attribution period. \nSupported values: 1d - 30d (days) OR 1h-23h (hours). \n** Only valid if `af_engagement_type=click_to_download` **\n"
    Error:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    AfRequestId:
      type: string
      format: ^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
      example: 6ccccc43-730d-470b-8adf-3a698ed0f508
      description: 'An identifier that uniquely identifies a request by partner.

        Value must be in a UUID format.

        '
    AfChannel:
      type: string
      maxLength: 64
      pattern: ^[^+-=@]
      description: The media source channel through which the ads are distributed
    AfCampaign:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Campaign name
    AfAd:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Ad Name
    AfPrt:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Agency Account Name
    AfOsVersion:
      type: string
      maxLength: 12
      pattern: ^[0-9]*[\.]?[0-9]*[\.]?[0-9]+$
      description: 'The device’s os_version.

        Only digits and dots allowed

        '
      example: 8.1.0
    AfSiteId:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Unique ID that identifies the publisher that displays the ad
    AfCostModel:
      type: string
      enum:
      - cpi
      - cpa
      - cpe
      - cpr
      - cpm
      - cpc
      description: 'Cost model

        '
    AfEngagementType:
      type: string
      enum:
      - preload
      - click_to_download
      description: The type of engagement
    AfCampaignId:
      type: string
      maxLength: 64
      pattern: ^[^+-=@]
      description: Campaign ID
    AfModel:
      type: string
      maxLength: 64
      pattern: ^[^+-=@]
      description: The device’s model
      example: “SM-S115DL”
    AfClickId:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: Ad network unique transaction identifier
    AfCostCurrency:
      type: string
      description: 'Use a currency code which is compliant with ISO-4217.

        '
      enum:
      - ADP
      - AED
      - AFA
      - AFN
      - ALK
      - ALL
      - AMD
      - ANG
      - AOA
      - AOK
      - AON
      - AOR
      - ARA
      - ARP
      - ARS
      - ARY
      - ATS
      - AUD
      - AWG
      - AYM
      - AZM
      - AZN
      - BAD
      - BAM
      - BBD
      - BDT
      - BEC
      - BEF
      - BEL
      - BGJ
      - BGK
      - BGL
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOP
      - BOV
      - BRB
      - BRC
      - BRE
      - BRL
      - BRN
      - BRR
      - BSD
      - BTN
      - BUK
      - BWP
      - BYB
      - BYN
      - BYR
      - BZD
      - CAD
      - CDF
      - CHC
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CSD
      - CSJ
      - CSK
      - CUC
      - CUP
      - CVE
      - CYP
      - CZK
      - DDM
      - DEM
      - DJF
      - DKK
      - DOP
      - DZD
      - ECS
      - ECV
      - EEK
      - EGP
      - ERN
      - ESA
      - ESB
      - ESP
      - ETB
      - EUR
      - FIM
      - FJD
      - FKP
      - FRF
      - GBP
      - GEK
      - GEL
      - GHC
      - GHP
      - GHS
      - GIP
      - GMD
      - GNE
      - GNF
      - GNS
      - GQE
      - GRD
      - GTQ
      - GWE
      - GWP
      - GYD
      - HKD
      - HNL
      - HRD
      - HRK
      - HTG
      - HUF
      - IDR
      - IEP
      - ILP
      - ILR
      - ILS
      - INR
      - IQD
      - IRR
      - ISJ
      - ISK
      - ITL
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAJ
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LSM
      - LTL
      - LTT
      - LUC
      - LUF
      - LUL
      - LVL
      - LVR
      - LYD
      - MAD
      - MDL
      - MGA
      - MGF
      - MKD
      - MLF
      - MMK
      - MNT
      - MOP
      - MRO
      - MRU
      - MTL
      - MTP
      - MUR
      - MVQ
      - MVR
      - MWK
      - MXN
      - MXP
      - MXV
      - MYR
      - MZE
      - MZM
      - MZN
      - NAD
      - NGN
      - NIC
      - NIO
      - NLG
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEH
      - PEI
      - PEN
      - PES
      - PGK
      - PHP
      - PKR
      - PLN
      - PLZ
      - PTE
      - PYG
      - QAR
      - RHD
      - ROK
      - ROL
      - RON
      - RSD
      - RUB
      - RUR
      - RWF
      - SAR
      - SBD
      - SCR
      - SDD
      - SDG
      - SDP
      - SEK
      - SGD
      - SHP
      - SIT
      - SKK
      - SLL
      - SOS
      - SRD
      - SRG
      - SSP
      - STD
      - STN
      - SUR
      - SVC
      - SYP
      - SZL
      - THB
      - TJR
      - TJS
      - TMM
      - TMT
      - TND
      - TOP
      - TPE
      - TRL
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UAK
      - UGS
      - UGW
      - UGX
      - USD
      - USN
      - USS
      - UYI
      - UYN
      - UYP
      - UYU
      - UYW
      - UZS
      - VEB
      - VEF
      - VES
      - VNC
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XEU
      - XFO
      - XFU
      - XOF
      - XPD
      - XPF
      - XPT
      - XRE
      - XSU
      - XTS
      - XUA
      - XXX
      - YDD
      - YER
      - YUD
      - YUM
      - YUN
      - ZAL
      - ZAR
      - ZMK
      - ZMW
      - ZRN
      - ZRZ
      - ZWC
      - ZWD
      - ZWL
      - ZWN
      - ZWR
    AfUserAgent:
      type: string
      maxLength: 256
      pattern: ^[^+-=@]
      description: The Device’s User Agent
      example: 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36 CrKey/1.0.999999 '
    AfIp:
      type: string
      pattern: ^(([1-2]{0,1}[0-9]{0,1}[0-9]{1})\.([1-2]{0,1}[0-9]{0,1}[0-9]{1})\.([1-2]{0,1}[0-9]{0,1}[0-9]{1})\.([1-2]{0,1}[0-9]{0,1}[0-9]{1}))$
      maxLength: 256
      description: "The device’s IP the agent sent in its request to the partner’s server.\n[IPv6 or IPv4]. For, IPv6,values must be the short version (according to RFC5952) and URL Encoded\nexample: \"14.89.104.36\" \n"
  responses:
    AuthenticationFailed:
      description: Authentication failed. Unknown secret.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Authentication failed
    ServiceUnavailable:
      description: Service Unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Service unavailable
    GatewayTimeout:
      description: Gateway Timeout.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Gateway timeout
    NotImplemented:
      description: Not implmented.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Not implmented
    BadRequest:
      description: Bad Request. The request message is not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Bad Request
    Success:
      description: Request successful.
      content:
        application/json:
          schema:
            type: object
            properties:
              transaction_id:
                type: string
          example:
            transaction_id: 31BfH9aQNPs5XyB/vBiQPw
  parameters:
    AppId:
      name: app_id
      in: path
      required: true
      schema:
        type: string
        description: App ID of the app for which you are posting
        example: com.example.testapp
  requestBodies:
    CommonBody:
      description: common body for impression and click
      required: true
      content:
        application/json:
          schema:
            required:
            - af_media_source
            - af_request_id
            - af_ip
            - af_engagement_type
            type: object
            properties:
              af_media_source:
                $ref: '#/components/schemas/AfMediaSource'
              af_request_id:
                $ref: '#/components/schemas/AfRequestId'
              af_engagement_type:
                $ref: '#/components/schemas/AfEngagementType'
              af_campaign:
                $ref: '#/components/schemas/AfCampaign'
              af_campaign_id:
                $ref: '#/components/schemas/AfCampaignId'
              af_adset:
                $ref: '#/components/schemas/AfAdSet'
              af_adset_id:
                $ref: '#/components/schemas/AfAdSetId'
              af_ad:
                $ref: '#/components/schemas/AfAd'
              af_ad_id:
                $ref: '#/components/schemas/AfAdId'
              af_prt:
                $ref: '#/components/schemas/AfPrt'
              af_click_id:
                $ref: '#/components/schemas/AfClickId'
              af_lookback_window:
                $ref: '#/components/schemas/AflookbackWindow'
              af_ad_type:
                $ref: '#/components/schemas/AfAdType'
              af_channel:
                $ref: '#/components/schemas/AfChannel'
              af_cost_model:
                $ref: '#/components/schemas/AfCostModel'
              af_cost_value:
                $ref: '#/components/schemas/AfCostValue'
              af_cost_currency:
                $ref: '#/components/schemas/AfCostCurrency'
              af_custom1:
                $ref: '#/components/schemas/AfCustom'
              af_custom2:
                $ref: '#/components/schemas/AfCustom'
              af_custom3:
                $ref: '#/components/schemas/AfCustom'
              af_custom4:
                $ref: '#/components/schemas/AfCustom'
              af_custom5:
                $ref: '#/components/schemas/AfCustom'
              af_model:
                $ref: '#/components/schemas/AfModel'
              af_os_version:
                $ref: '#/components/schemas/AfOsVersion'
              af_siteid:
                $ref: '#/components/schemas/AfSiteId'
              af_sub_siteid:
                $ref: '#/components/schemas/AfSubSiteId'
              af_device_id_type:
                $ref: '#/components/schemas/AfDeviceIdType'
              af_device_id_value:
                $ref: '#/components/schemas/AfDeviceIdValue'
              af_device_id_encoding:
                $ref: '#/components/schemas/AfDeviceIdEncoding'
    CommonBody_2:
      description: "> ⚠️ **Important**      \n>   Make sure the body parameters are not URL encoded.\n"
      required: true
      content:
        application/json:
          schema:
            required:
            - af_media_source
            - af_request_id
            - af_ip
            - af_engagement_type
            type: object
            properties:
              af_media_source:
                $ref: '#/components/schemas/AfMediaSource'
              af_request_id:
                $ref: '#/components/schemas/AfRequestId'
              af_ip:
                $ref: '#/components/schemas/AfIp'
              af_engagement_type:
                $ref: '#/components/schemas/AfEngagementType'
              af_campaign:
                $ref: '#/components/schemas/AfCampaign'
              af_campaign_id:
                $ref: '#/components/schemas/AfCampaignId'
              af_adset:
                $ref: '#/components/schemas/AfAdSet'
              af_adset_id:
                $ref: '#/components/schemas/AfAdSetId'
              af_ad:
                $ref: '#/components/schemas/AfAd'
              af_ad_id:
                $ref: '#/components/schemas/AfAdId'
              af_prt:
                $ref: '#/components/schemas/AfPrt'
              af_click_id:
                $ref: '#/components/schemas/AfClickId'
              af_lookback_window:
                $ref: '#/components/schemas/AflookbackWindow'
              af_ad_type:
                $ref: '#/components/schemas/AfAdType'
              af_channel:
                $ref: '#/components/schemas/AfChannel'
              af_cost_model:
                $ref: '#/components/schemas/AfCostModel'
              af_cost_value:
                $ref: '#/components/schemas/AfCostValue'
              af_cost_currency:
                $ref: '#/components/schemas/AfCostCurrency'
              af_custom1:
                $ref: '#/components/schemas/AfCustom'
              af_custom2:
                $ref: '#/components/schemas/AfCustom'
              af_custom3:
                $ref: '#/components/schemas/AfCustom'
              af_custom4:
                $ref: '#/components/schemas/AfCustom'
              af_custom5:
                $ref: '#/components/schemas/AfCustom'
              af_model:
                $ref: '#/components/schemas/AfModel'
              af_os_version:
                $ref: '#/components/schemas/AfOsVersion'
              af_siteid:
                $ref: '#/components/schemas/AfSiteId'
              af_sub_siteid:
                $ref: '#/components/schemas/AfSubSiteId'
              af_user_agent:
                $ref: '#/components/schemas/AfUserAgent'
              af_device_id_type:
                $ref: '#/components/schemas/AfDeviceIdType'
              af_device_id_value:
                $ref: '#/components/schemas/AfDeviceIdValue'
              af_device_id_encoding:
                $ref: '#/components/schemas/AfDeviceIdEncoding'
  securitySchemes:
    HeaderApiKeyAuth:
      type: apiKey
      description: AppsFlyer will provide a secret key (uuid v4) which is unique per partner integration
      name: authorization
      in: header
x-refined-from:
- appsflyer-preload-c2s-measurement-api-openapi.yml
- appsflyer-preload-measurement-api-1-openapi.yml