Snapchat Campaigns API
Campaigns define a business objective and organize Ad Squads, allowing advertisers to view aggregate statistics.
Campaigns define a business objective and organize Ad Squads, allowing advertisers to view aggregate statistics.
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