AppLovin Campaigns API

Campaign create / update / list operations

Operations 3

GET /campaign/list List Campaigns #
POST /campaign/create Create Campaign #
POST /campaign/update Update Campaign #

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/applovin-campaigns-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

applovin-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AppLovin Axon Campaign Management Ad Units Campaigns 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: Campaigns
  description: Campaign create / update / list operations
paths:
  /campaign/list:
    get:
      operationId: listCampaigns
      summary: List Campaigns
      description: List campaigns for the authenticated account, optionally filtered by ID lists.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: ids
        in: query
        required: false
        description: Comma-separated campaign IDs (max 100).
        schema:
          type: string
      - name: hashed_ids
        in: query
        required: false
        description: Comma-separated external (hashed) campaign IDs (max 100).
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      responses:
        '200':
          description: Array of Campaign objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Campaign'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /campaign/create:
    post:
      operationId: createCampaign
      summary: Create Campaign
      description: 'Create a new AppDiscovery / Axon campaign. The `id` field is

        forbidden on create. The `bidding_strategy` field is required and

        cannot be updated after creation.

        '
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Campaign'
      responses:
        '200':
          description: Newly created campaign reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignRef'
              example:
                id: '12345'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /campaign/update:
    post:
      operationId: updateCampaign
      summary: Update Campaign
      description: Update an existing campaign. `id`, `type`, and `campaign_id` are required.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Campaign'
      responses:
        '200':
          description: Updated campaign reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignRef'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Campaign:
      type: object
      description: 'Axon campaign object. x-schema-source: documentation

        '
      properties:
        id:
          type: integer
          format: int64
          description: Campaign identifier (forbidden on create, required on update).
        name:
          type: string
        type:
          type: string
          enum:
          - APP
        status:
          type: string
          enum:
          - LIVE
          - PAUSED
        platform:
          type: string
          enum:
          - IOS
          - ANDROID
        package_name:
          type: string
        itunes_id:
          type: integer
          format: int64
        start_date:
          type: string
          format: date-time
        end_date:
          type: string
          format: date-time
        bidding_strategy:
          type: string
          enum:
          - TARGET_GOAL_WITH_CPI_BILLING
          - AUTO_BIDDING_WITH_CPM_BILLING
        budget:
          $ref: '#/components/schemas/Budget'
        goal:
          $ref: '#/components/schemas/Goal'
        tracking:
          $ref: '#/components/schemas/Tracking'
        targeting:
          type: array
          items:
            $ref: '#/components/schemas/Targeting'
      required:
      - name
      - type
      - platform
      - start_date
      - bidding_strategy
      - budget
      - goal
      - tracking
      - targeting
    Budget:
      type: object
      description: Daily budget. Use either `daily_budget_for_all_countries` or `country_code_to_daily_budget`.
      properties:
        daily_budget_for_all_countries:
          type: string
          description: Daily budget in USD as a numeric string applied to all targeted countries.
          example: '6000'
        country_code_to_daily_budget:
          type: object
          additionalProperties:
            type: string
          example:
            US: '5000'
            CA: '1000'
    Goal:
      type: object
      properties:
        goal_value_for_all_countries:
          type: string
        country_code_to_goal_value:
          type: object
          additionalProperties:
            type: string
        goal_type:
          type: string
          enum:
          - CPI
          - CPE
          - CPP
          - AD_ROAS
          - CHK_ROAS
          - BLD_ROAS
        roas_day_target:
          type: string
          description: ROAS day window such as DAY1, DAY7, DAY14.
      required:
      - goal_type
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
      required:
      - code
    CampaignRef:
      type: object
      properties:
        id:
          type: string
      required:
      - id
    Targeting:
      type: object
      properties:
        country_code:
          type: string
          description: ISO 3166-1 alpha-2 country code.
        region_codes:
          type: array
          items:
            type: string
        metro_names:
          type: array
          items:
            type: string
      required:
      - country_code
    Tracking:
      type: object
      properties:
        tracking_method:
          type: string
          enum:
          - ADJUST
          - APPSFLYER
          - APSALAR
          - BRANCH
          - KOCHAVA
          - TENJIN
        impression_url:
          type: string
          format: uri
        click_url:
          type: string
          format: uri
      required:
      - tracking_method
  parameters:
    AccountId:
      name: account_id
      in: query
      required: true
      description: Account identifier issued by AppLovin / Axon.
      schema:
        type: string
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        default: 1
    Size:
      name: size
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 100
  responses:
    Unauthorized:
      description: Missing or invalid Authorization header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Rate limit exceeded (1,000 requests per 60 seconds).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Validation or input error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Campaign Management API key passed in the `Authorization` header.