Snapchat Campaigns API

Campaigns define a business objective and organize Ad Squads, allowing advertisers to view aggregate statistics.

OpenAPI Specification

snapchat-campaigns-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Snapchat Ads Ad Accounts Campaigns API
  description: The Snapchat Ads API allows developers to programmatically create, manage, and optimize advertising campaigns on the Snapchat platform. It provides endpoints for managing organizations, ad accounts, campaigns, ad squads, ads, creatives, media, funding sources, audience segments, and measurement reporting. The API supports the full advertising lifecycle from campaign setup through reporting and optimization.
  version: '1.0'
  contact:
    name: Snap for Developers
    url: https://developers.snap.com
  termsOfService: https://snap.com/en-US/terms
servers:
- url: https://adsapi.snapchat.com/v1
  description: Production Server
security:
- bearerAuth: []
tags:
- name: Campaigns
  description: Campaigns define a business objective and organize Ad Squads, allowing advertisers to view aggregate statistics.
paths:
  /adaccounts/{ad_account_id}/campaigns:
    get:
      operationId: listCampaigns
      summary: List All Campaigns for an Ad Account
      description: Retrieves all campaigns associated with the specified ad account.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/adAccountId'
      responses:
        '200':
          description: Successful retrieval of campaigns
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_status:
                    type: string
                  request_id:
                    type: string
                  campaigns:
                    type: array
                    items:
                      type: object
                      properties:
                        campaign:
                          $ref: '#/components/schemas/Campaign'
        '401':
          description: Unauthorized
        '404':
          description: Ad account not found
    post:
      operationId: createCampaign
      summary: Create a Campaign
      description: Creates a new campaign under the specified ad account.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/adAccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                campaigns:
                  type: array
                  items:
                    $ref: '#/components/schemas/Campaign'
      responses:
        '200':
          description: Campaign created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_status:
                    type: string
                  request_id:
                    type: string
                  campaigns:
                    type: array
                    items:
                      type: object
                      properties:
                        campaign:
                          $ref: '#/components/schemas/Campaign'
        '400':
          description: Bad request - invalid parameters
        '401':
          description: Unauthorized
  /campaigns/{campaign_id}:
    get:
      operationId: getCampaign
      summary: Get a Specific Campaign
      description: Retrieves details for a specific campaign by its ID.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/campaignId'
      responses:
        '200':
          description: Successful retrieval of campaign
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_status:
                    type: string
                  request_id:
                    type: string
                  campaigns:
                    type: array
                    items:
                      type: object
                      properties:
                        campaign:
                          $ref: '#/components/schemas/Campaign'
        '401':
          description: Unauthorized
        '404':
          description: Campaign not found
    put:
      operationId: updateCampaign
      summary: Update a Campaign
      description: Updates an existing campaign.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/campaignId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                campaigns:
                  type: array
                  items:
                    $ref: '#/components/schemas/Campaign'
      responses:
        '200':
          description: Campaign updated successfully
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Campaign not found
    delete:
      operationId: deleteCampaign
      summary: Delete a Campaign
      description: Deletes a specific campaign by its ID.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/campaignId'
      responses:
        '200':
          description: Campaign deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Campaign not found
components:
  parameters:
    campaignId:
      name: campaign_id
      in: path
      required: true
      description: The unique identifier of the campaign
      schema:
        type: string
    adAccountId:
      name: ad_account_id
      in: path
      required: true
      description: The unique identifier of the ad account
      schema:
        type: string
  schemas:
    Campaign:
      type: object
      description: A Campaign defines a business objective and organizes Ad Squads. It provides aggregate statistics for all ad squads within it.
      properties:
        id:
          type: string
          description: The unique identifier of the campaign
        updated_at:
          type: string
          format: date-time
          description: Timestamp of last update
        created_at:
          type: string
          format: date-time
          description: Timestamp of creation
        name:
          type: string
          description: The name of the campaign
        ad_account_id:
          type: string
          description: The ID of the parent ad account
        status:
          type: string
          description: The status of the campaign
          enum:
          - ACTIVE
          - PAUSED
        daily_budget_micro:
          type: integer
          format: int64
          description: Daily budget in micro-currency units
        lifetime_spend_cap_micro:
          type: integer
          format: int64
          description: Lifetime spend cap in micro-currency units
        start_time:
          type: string
          format: date-time
          description: The start time of the campaign
        end_time:
          type: string
          format: date-time
          description: The end time of the campaign
        objective_v2_properties:
          type: object
          description: The objective properties for the campaign using the v2 objective format, which replaces the deprecated objective field.
          properties:
            objective:
              type: string
              description: The campaign objective type
  securitySchemes:
    bearerAuth:
      type: oauth2
      description: OAuth 2.0 authorization. Access tokens are obtained via the authorization code flow and expire after 3600 seconds. Refresh tokens can be used to obtain new access tokens.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.snapchat.com/accounts/oauth2/auth
          tokenUrl: https://accounts.snapchat.com/login/oauth2/access_token
          scopes:
            snapchat-marketing-api: Access to the Snapchat Marketing API
externalDocs:
  description: Snapchat Ads API Documentation
  url: https://developers.snap.com/api/marketing-api/Ads-API/introduction