Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: V2.0 App management API
description: API for managing an app on your AppsFlyer account
version: 2.0.0
servers:
- url: https://hq1.appsflyer.com/api/app/v2.0
security:
- bearerAuth: []
tags:
- name: App management
paths:
/apps/{app_id}/{platform}:
delete:
tags:
- App management
summary: Delete app
operationId: app-mng-v2-delete
description: Public API for deleting an app from your AppsFlyer account
parameters:
- name: app_id
in: path
description: App id to delete (case-sensitive)
required: true
schema:
$ref: '#/components/schemas/app_id'
- name: platform
in: path
description: Platform app to delete
required: true
schema:
$ref: '#/components/schemas/deletePlatform'
responses:
'200':
description: app deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
'400':
description: Missing / Invaild input params or request body
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Invalid platform:
value:
message: 'The platform name was either misspelled or isn''t in the list of supported app platforms. The supported platforms are: ''android'', ''ios'', ''windowsphone'' ''roku'',''smartcast'',''tizen'', ''webos'', ''playstation'', ''vidaa'', ''steam'', ''quest'', ''battlenet'', ''web'', ''switch'', ''xbox'', ''epic'', ''nativepc'', ''chatgpt'' . For more information please refer to the attached documentation link.'
error:
status: 400
code: VALIDATION_FAILED
message: 'The platform name was either misspelled or isn''t in the list of supported app platforms. The supported platforms are: ''android'', ''ios'', ''windowsphone'' ''roku'',''smartcast'',''tizen'', ''webos'', ''playstation'', ''vidaa'', ''steam'', ''quest'', ''battlenet'', ''web'', ''switch'', ''xbox'', ''epic'', ''nativepc'', ''chatgpt'' . For more information please refer to the attached documentation link.'
resource: app,
documentation: https://support.appsflyer.com/hc/en-us/articles/207377436-Adding-an-app-to-AppsFlyer#enter-app-details
'401':
description: Unauthorized - Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Authentication failed:
value:
message: Authentication failed. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
error:
status: 401
code: AUTHENTICATION_FAILED
message: Authentication failed. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
resource: app
'403':
description: Forbidden - You are not authorized to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Forbidden - unauthorized user action:
value:
message: Forbidden. You are not authorized to perform this action. Please verify you have the correct role, and required permissions to perform this action. If this issue persists please contact your CSM.
error:
status: 403
code: FORBIDDEN_UNAUTHORIZED_USER_ACTION
message: Forbidden. You are not authorized to perform this action. Please verify you have the correct role, and required permissions to perform this action. If this issue persists please contact your CSM.
resource: app
'404':
description: Not found - Something went wrong please try again
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
AppNotFound:
value:
message: 'The app wasn’t found. Possible reasons: The app doesn''t exist in your account, the app ID was misspelled, or the wrong platform was entered. Please try again with the correct details. If the issue persists, contact your CSM or hello@appsflyer.com'
error:
status: 404
code": APP_ENTITY_NOT_FOUND
message: 'The app wasn’t found. Possible reasons: The app doesn''t exist in your account, the app ID was misspelled, or the wrong platform was entered. Please try again with the correct details. If the issue persists, contact your CSM or hello@appsflyer.com'
resource": app
'422':
description: We were unable to complete your request
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
API token verification failed:
value:
message: We were unable to verify your api access token. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
error:
status: 422
code: API_TOKEN_VERIFICATION_FAILED
message: We were unable to verify your api access token. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
resource: app
Bundled web app deletion error:
value:
message: A web app can't be deleted if it's part of a bundle. Please refer to the attached documentation link for more information.
error:
status: 422
code: BUNDLED_WEB_APP
message: A web app can't be deleted if it's part of a bundle. Please refer to the attached documentation link for more information.
resource: app
documentation: https://support.appsflyer.com/hc/en-us/articles/360000646498#how-do-i-add-or-remove-delete-apps-from-a-bundle
Delete app failed:
value:
message: We were unable to delete the app. Please try again and if the issue persists, contact your CSM.
error:
status: 422
code: DELETE_APP_FAILED_ERROR
message: We were unable to delete the app. Please try again and if the issue persists, contact your CSM.
resource: app
'429':
description: Too many requests - Exceeded rate limitation
put:
tags:
- App management
summary: Update app
description: Public API for updating an app on your AppsFlyer account
operationId: app-mng-v2-put
parameters:
- name: app_id
in: path
description: App id to update (case-sensitive)
required: true
schema:
allOf:
- $ref: '#/components/schemas/app_id'
- name: platform
in: path
description: Platform app to update
required: true
schema:
$ref: '#/components/schemas/platform'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAppRequest'
responses:
'200':
description: app updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
'400':
description: Invalid or missing input params or request body
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
InvalidMinTimeBetweenSessions:
value:
message: Invalid value. The value must be a whole number, expressed in seconds, representing either 1-59 minutes or 1-24 hours.
error:
status: 400
code: VALIDATION_FAILED
message: Invalid value. The value must be a whole number, expressed in seconds, representing either 1-59 minutes or 1-24 hours.
resource: app
InvalidReAttributionWindow:
value:
message: Invalid value. The value must be a whole number, expressed in days representing either 1-23 months (each month considered as 30 days) or 730 days.
error:
status: 400
code: VALIDATION_FAILED
message: Invalid value. The value must be a whole number, expressed in days representing either 1-23 months (each month considered as 30 days) or 730 days.
resource: app
InvalidMinTimeBetweenReEngagements:
value:
message: Invalid value. The value must be a whole number, expressed in seconds, representing either 1-23 hours or 1-30 days
error:
status: 400
code: VALIDATION_FAILED
message: Invalid value. The value must be a whole number, expressed in seconds, representing either 1-23 hours or 1-30 days
resource: app
MissingRequiredValueReEngagementAttribution:
value:
message: Required at \"reEngagementAttribution.isEnabled\"
error:
status: 400
code: VALIDATION_FAILED
message: Required at \"reEngagementAttribution.isEnabled\"
resource: app
InvalidPropertyEnableAggregatedAdvancedPrivacy:
value:
message: 'Unrecognized key(s) in object: enableAggregatedAdvancedPrivacy'
error:
status: 400
code: VALIDATION_FAILED
message: 'Unrecognized key(s) in object: enableAggregatedAdvancedPrivacy'
resource: app
InvalidPropertyEnableReinstallDetection:
value:
message: 'Unrecognized key(s) in object: enableReinstallDetection'
error:
status: 400
code: VALIDATION_FAILED
message: 'Unrecognized key(s) in object: enableReinstallDetection'
resource: app
InvalidPropertyEnableSeoAppAttribution:
value:
message: 'Unrecognized key(s) in object: enableSeoAppAttribution'
error:
status: 400
code: VALIDATION_FAILED
message: 'Unrecognized key(s) in object: enableSeoAppAttribution'
resource: app
InvalidPropertyX:
value:
message: 'Unrecognized key(s) in object: X'
error:
status: 400
code: VALIDATION_FAILED
message: 'Unrecognized key(s) in object: X'
resource: app
InvalidPlatformUrlParam:
value:
message: Invalid enum value. Expected 'android' | 'ios' | 'windowsphone', received 'androidd' at \"platform\"
error:
status: 400
code: VALIDATION_FAILED
message: Invalid enum value. Expected 'android' | 'ios' | 'windowsphone', received 'androidd' at \"platform\"
resource: app
InvalidPropertyType:
value:
message: Expected typeA, received typeB at \"X\"
error:
status: 400
code: VALIDATION_FAILED
message: Expected typeA, received typeB at \"X\"
resource: app
'401':
description: Unauthorized - Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Authentication failed:
value:
message: Authentication failed. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
error:
status: 401
code: AUTHENTICATION_FAILED
message: Authentication failed. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
resource: app
'403':
description: Forbidden - You are not authorized to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Forbidden - unauthorized user action:
value:
message: Forbidden. You are not authorized to perform this action. Please verify you have the correct role, and required permissions to perform this action. If this issue persists please contact your CSM.
error:
status: 403
code: FORBIDDEN_UNAUTHORIZED_USER_ACTION
message: Forbidden. You are not authorized to perform this action. Please verify you have the correct role, and required permissions to perform this action. If this issue persists please contact your CSM.
resource: app
'404':
description: Not found - Something went wrong please try again
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
AppNotFound:
value:
message: 'The app wasn’t found. Possible reasons: The app doesn’t exist in your account, the app ID was misspelled, or the wrong platform was entered. Please try again with the correct details. If the issue persists, contact your CSM or hello@appsflyer.com'
error:
status: 404
code: APP_ENTITY_NOT_FOUND
message: 'The app wasn’t found. Possible reasons: The app doesn’t exist in your account, the app ID was misspelled, or the wrong platform was entered. Please try again with the correct details. If the issue persists, contact your CSM or hello@appsflyer.com'
resource: app
'422':
description: We were unable to complete your request
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
API token verification failed:
value:
message: We were unable to verify your api access token. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
error:
status: 422
code: API_TOKEN_VERIFICATION_FAILED
message: We were unable to verify your api access token. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
resource: app
AppVerificationFailed:
value:
message: We were unable to verify the provided app entity. The app doesn't exist in your account, the app ID was misspelled, or the wrong platform was entered. Please try again with the correct details. If the issue persists, contact your CSM or hello@appsflyer.com"
error:
status: 422
code: APP_VERIFICATION_FAILED
message: We were unable to verify the provided app entity. The app doesn't exist in your account, the app ID was misspelled, or the wrong platform was entered. Please try again with the correct details. If the issue persists, contact your CSM or hello@appsflyer.com
resource: app
FailedToUpdateApp:
value:
message: We were unable to update the app. Please try again and if the issue persists, contact your CSM.
error:
status: 422
code: UPDATE_APP_FAILED
message: We were unable to update the app. Please try again and if the issue persists, contact your CSM.
resource: app
'429':
description: Too many requests - Exceeded rate limitation
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
/apps/:
post:
tags:
- App management
summary: Add app
description: Public API for adding an app to your AppsFlyer account
operationId: app-mng-v2-post
requestBody:
description: 'Use these examples as a template for your request body:'
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/available-app'
- $ref: '#/components/schemas/pending-app'
- $ref: '#/components/schemas/out-of-store-app'
examples:
Available Android app:
value:
status: available
platform: android
time_zone: UTC
currency: USD
app_name: Optional custom app name
app_url: https://play.google.com/store/apps/details?id=com.publisher.name
Available iOS app:
value:
status: available
platform: ios
time_zone: UTC
currency: USD
app_name: Optional custom app name
app_url: https://apps.apple.com/us/app/app-name/id123456789
Available Windows phone app:
value:
status: available
platform: windows_phone
time_zone: UTC
currency: USD
app_name: Optional custom app name
app_url: https://microsoft.com/en-us/store/apps/app-name/a1b2c3d4e5f6
Pending iOS app:
value:
status: pending
platform: ios
time_zone: UTC
currency: USD
app_id: '123456789'
app_name: Optional custom app name
country: United States
Pending Android app:
value:
status: pending
platform: android
time_zone: UTC
currency: USD
app_id: com.some.appid
app_name: Optional custom app name
Pending Windows Phone app:
value:
status: pending
platform: windows_phone
time_zone: UTC
currency: USD
app_id: a1b2c3d4e5f6
app_name: Optional custom app name
Out-of-store Android app:
value:
status: out_of_store
platform: android
time_zone: UTC
currency: USD
app_id: com.some.appid
app_name: Optional custom app name
channel_name: Amazon
app_url: http://www.optionalAppLocation.com
required: true
responses:
'200':
description: app added successfully
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
'400':
description: Invalid or missing input params or request body
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Invalid app id length:
value:
message: The app ID that was entered exceeded the 100-character limit.
error:
status: 400
code: VALIDATION_FAILED
message: The app ID that was entered exceeded the 100-character limit.
resource: app
Invalid app id format:
value:
message: Invalid app ID. The app ID doesn’t follow the required format.,
error:
status: 400
code: VALIDATION_FAILED,
Message: Invalid app ID. The app ID doesn’t follow the required format.
resource: app
Invalid app status:
value:
message: Invalid app status.
error:
status: 400
code: VALIDATION_FAILED
Message: Invalid app status.
resource: app
Invalid app name:
value:
message: Invalid app name.
error:
status: 400
code: VALIDATION_FAILED
Message: Invalid app name.
resource: app
Invalid app URL:
value:
message: Invalid app URL.
error:
status: 400
code: VALIDATION_FAILED
Message: Invalid app URL.
resource: app
'401':
description: Unauthorized - Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Authentication failed:
value:
message: Authentication failed. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.
error:
status: 401
code: AUTHENTICATION_FAILED
message: Authentication failed. Please ensure the provided token is correct and try again. If the issue persists, contact your CSM.,
resource: app
'403':
description: Forbidden - You are not authorized to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
Forbidden - unauthorized user action:
value:
message: Forbidden. You are not authorized to perform this action. Please verify you have the correct role, and required permissions to perform this action. If this issue persists please contact your CSM.
error:
status: 403
code: FORBIDDEN_UNAUTHORIZED_USER_ACTION
message: Forbidden. You are not authorized to perform this action. Please verify you have the correct role, and required permissions to perform this action. If this issue persists please contact your CSM.
resource: app
'404':
description: Not found - Something went wrong please try again
'422':
description: We were unable to complete your request
content:
application/json:
schema:
$ref: '#/components/schemas/StandardApiResponse'
examples:
API token verification failed:
value:
message: The API access token that was entered either doesn’t exist in the account or was misspelled. Please try again with the correct token. If the issue persists, contact your CSM or hello@appsflyer.com.
error:
status: 422
code: API_TOKEN_VERIFICATION_FAILED
message: The API access token that was entered either doesn’t exist in the account or was misspelled. Please try again with the correct token. If the issue persists, contact your CSM or hello@appsflyer.com.
resource: app
App already in account:
value:
message: The app you are trying to add already exists in your account.
error:
status: 422
code: APP_ALREADY_IN_ACCOUNT_ERROR
Message: The app you are trying to add already exists in your account.
resource: app
General security error:
value:
message: For Security reasons this app could not be added. Please contact AppsFlyer's support team.
error:
status: 422
code: GENERAL_SECURITY_ERROR
Message: For Security reasons this app could not be added. Please contact AppsFlyer's support team.
resource: app
Add app failed:
value:
message: For Security reasons this app could not be added. Please contact AppsFlyer's support team.
error:
status: 422
code: ADD_APP_FAILED_ERROR
Message: We were unable to create the app. Please try again and if the issue persists, contact your CSM.
resource: app
'429':
description: Too many requests - Exceeded rate limitation
components:
schemas:
pending-app:
title: Pending
required:
- platform
- status
- currency
- app_id
- time_zone
- kidsPrivacy
type: object
properties:
platform:
$ref: '#/components/schemas/platform'
app_name:
$ref: '#/components/schemas/app_name'
status:
type: string
description: '**Pending:** The app is not yet published or is pending approval from the store.
- When a pending app goes live, AppsFlyer automatically updates its status in your account, so there is no need to update it manually.
'
enum:
- pending
time_zone:
$ref: '#/components/schemas/time_zone'
currency:
$ref: '#/components/schemas/currency'
country:
$ref: '#/components/schemas/country'
kidsPrivacy:
$ref: '#/components/schemas/kidsPrivacy'
app_id:
allOf:
- $ref: '#/components/schemas/app_id'
currency:
type: string
description: The preferable currency
enum:
- USD
- NZD
- SGD
- IMP
- ANG
- MNT
- BIF
- BBD
- HUF
- ERN
- AZN
- AOA
- PYG
- MYR
- GYD
- VUV
- SLL
- FKP
- DJF
- GNF
- LVL
- MMK
- MRO
- RSD
- CLF
- XDR
- ZAR
- TND
- PHP
- KGS
- XPD
- RON
- RUB
- KMF
- SCR
- GIP
- TRY
- JEP
- UYU
- XCD
- FJD
- GHS
- MVR
- AWG
- UGX
- TOP
- CVE
- MKD
- COP
- CUC
- GTQ
- KZT
- MXN
- MGA
- AUD
- BDT
- ISK
- KRW
- DZD
- GGP
- OMR
- ZMW
- MOP
- CUP
- JPY
- SHP
- LSL
- ETB
- BWP
- MAD
- AED
- NGN
- BRL
- GEL
- IDR
- EUR
- GBP
- WST
- XAF
- SZL
- XOF
- SEK
- UZS
- KES
- KYD
- ILS
- KWD
- NPR
- BZD
- QAR
- UAH
- BTN
- HTG
- DKK
- VND
- SBD
- JMD
- IQD
- LBP
- XPT
- HRK
- HKD
- JOD
- PAB
- CDF
- VEF
- XAU
- BAM
- CNY
- SOS
- XPF
- GMD
- DOP
- XAG
- KPW
- BOB
- BHD
- BYN
- BYR
- LRD
- BGN
- AMD
- CZK
- CAD
- LAK
- EEK
- MTL
- PLN
- LKR
- BTC
- MWK
- LTL
- ZMK
- PGK
- YER
- PEN
- KHR
- RWF
- BSD
- AFN
- ZWL
- LYD
- TMT
- HNL
- TWD
- IRR
- MUR
- THB
- ALL
- TJS
- SDG
- BMD
- CRC
- NOK
- SRD
- MZN
- CLP
- STD
- SYP
- TZS
- EGP
- ARS
- MDL
- INR
- SAR
- PKR
- TTD
- NIO
- BND
- NAD
- SVC
- CHF
app_id:
type: string
description: 'Required only when status is ***pending*** or ***out_of_store***
Example values
- **Android:** *com.publisher.name* (Android package name, case-sensitive)
- **iOS:** *123456789* (App ID assigned by the App Store, without the prefix *id*)
- **Windows Phone:** *a1b2c3d4e5f6* (App ID assigned by the Windows Phone Store)
'
app_name:
type: string
description: '**A custom name for the app**
- For ***available*** status, If not added to the request the extracted store name will be used.
- For ***pending*** or ***out_of_store***, If not added to the request, The ***app_id*** will be used by default.
- The **app_name** length must not exceed 100 characters, And should not contain XSS tags.
'
country:
type: string
description: The App Store country, Required Only for iOS apps with "pending" status
enum:
- Afghanistan
- Åland Islands
- Albania
- Algeria
- American Samoa
- AndorrA
- Angola
- Anguilla
- Antarctica
- Antigua and Barbuda
- Argentina
- Armenia
- Aruba
- Australia
- Austria
- Azerbaijan
- Bahamas
- Bahrain
- Bangladesh
- Barbados
- Belarus
- Belgium
- Belize
- Benin
- Bermuda
- Bhutan
- Bolivia
- Bosnia and Herzegovina
- Botswana
- Bouvet Island
- Brazil
- British Indian Ocean Territory
- Brunei Darussalam
- Bulgaria
- Burkina Faso
- Burundi
- Cambodia
- Cameroon
- Canada
- Cape Verde
- Cayman Islands
- Central African Republic
- Chad
- Chile
- China
- Christmas Island
- Cocos (Keeling) Islands
- Colombia
- Comoros
- Congo
- Congo, The Democratic Republic of the
- Cook Islands
- Costa Rica
- Cote D"Ivoire
- Croatia
- Cuba
- Cyprus
- Czech Republic
- Denmark
- Djibouti
- Dominica
- Dominican Republic
- Ecuador
- Egypt
- El Salvador
- Equatorial Guinea
- Eritrea
- Estonia
- Ethiopia
- Falkland Islands (Malvinas)
- Faroe Islands
- Fiji
- Finland
- France
- French Guiana
- French Polynesia
- French Southern Territories
- Gabon
- Gambia
- Georgia
- Germany
- Ghana
- Gibraltar
- Greece
- Greenland
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appsflyer/refs/heads/main/openapi/appsflyer-app-management-api-openapi.yml