openapi: 3.0.3 info: title: AppLovin Axon Campaign Management Ad Units Assets API version: v1 x-generated-from: documentation x-source-url: https://support.axon.ai/en/app-discovery/api/axon-campaign-management-api/ x-last-validated: '2026-05-05' description: 'REST endpoints used to programmatically manage AppLovin AppDiscovery (Axon) campaigns, creative sets, and creative assets. All endpoints require an `Authorization` header with the Campaign Management API key and an `account_id` query parameter. Rate limit: 1,000 requests per 60 seconds (HTTP 429 on overflow). ' contact: name: AppLovin Support url: https://support.axon.ai servers: - url: https://api.ads.axon.ai/manage/v1 description: Axon campaign management API security: - bearerAuth: [] tags: - name: Assets description: Creative asset upload and listing paths: /asset/list: get: operationId: listAssets summary: List Assets description: List creative assets in the account. tags: - Assets parameters: - $ref: '#/components/parameters/AccountId' - name: ids in: query required: false schema: type: string - name: resource_type in: query required: false schema: type: string enum: - image - html - video - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Size' responses: '200': description: Array of Asset objects. content: application/json: schema: type: array items: $ref: '#/components/schemas/Asset' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /asset/upload: post: operationId: uploadAssets summary: Upload Assets description: 'Upload up to 40 creative asset files (10 GB total / 1 GB per file). Supported MIME types: text/html, image/gif, image/jpeg, image/png, video/mp4, video/quicktime. ' tags: - Assets parameters: - $ref: '#/components/parameters/AccountId' requestBody: required: true content: multipart/form-data: schema: type: object properties: files: type: array items: type: string format: binary required: - files responses: '200': description: Upload accepted. content: application/json: schema: type: object properties: upload_id: type: string example: upload_id: c7a3db4226b24bd8bb0b38c46654aa54 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /asset/upload_result: get: operationId: getAssetUploadResult summary: Get Asset Upload Result description: Poll the status of an asynchronous asset upload. tags: - Assets parameters: - $ref: '#/components/parameters/AccountId' - name: upload_id in: query required: true description: Identifier returned by `/asset/upload`. schema: type: string responses: '200': description: Upload status with per-file results. content: application/json: schema: $ref: '#/components/schemas/AssetUploadResult' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: AccountId: name: account_id in: query required: true description: Account identifier issued by AppLovin / Axon. schema: type: string Size: name: size in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 100 Page: name: page in: query required: false schema: type: integer minimum: 1 default: 1 responses: Unauthorized: description: Missing or invalid Authorization header. content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Validation or input error. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: AssetUploadResult: type: object properties: upload_status: type: string enum: - PENDING - FINISHED - FAILED summary: type: object properties: total: type: integer success: type: integer failed: type: integer pending: type: integer details: type: array items: $ref: '#/components/schemas/AssetUploadDetail' Asset: type: object properties: id: type: string name: type: string url: type: string format: uri type: type: string resource_type: type: string AssetUploadDetail: type: object properties: file_name: type: string status: type: string asset_id: type: string message: type: string Error: type: object properties: code: type: integer message: type: string required: - code securitySchemes: bearerAuth: type: http scheme: bearer description: Campaign Management API key passed in the `Authorization` header.