Snapchat Ad Accounts API
Ad Accounts are owned by an Organization and contain Ad Campaigns. They have one or more Funding Sources.
Ad Accounts are owned by an Organization and contain Ad Campaigns. They have one or more Funding Sources.
openapi: 3.1.0
info:
title: Snapchat Ads Ad Accounts 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: Ad Accounts
description: Ad Accounts are owned by an Organization and contain Ad Campaigns. They have one or more Funding Sources.
paths:
/organizations/{organization_id}/adaccounts:
get:
operationId: listAdAccounts
summary: List All Ad Accounts for an Organization
description: Retrieves all ad accounts associated with the specified organization.
tags:
- Ad Accounts
parameters:
- $ref: '#/components/parameters/organizationId'
responses:
'200':
description: Successful retrieval of ad accounts
content:
application/json:
schema:
type: object
properties:
request_status:
type: string
request_id:
type: string
adaccounts:
type: array
items:
type: object
properties:
adaccount:
$ref: '#/components/schemas/AdAccount'
'401':
description: Unauthorized
'404':
description: Organization not found
post:
operationId: createAdAccount
summary: Create an Ad Account
description: Creates a new ad account under the specified organization.
tags:
- Ad Accounts
parameters:
- $ref: '#/components/parameters/organizationId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
adaccounts:
type: array
items:
$ref: '#/components/schemas/AdAccount'
responses:
'200':
description: Ad account created successfully
content:
application/json:
schema:
type: object
properties:
request_status:
type: string
request_id:
type: string
adaccounts:
type: array
items:
type: object
properties:
adaccount:
$ref: '#/components/schemas/AdAccount'
'400':
description: Bad request - invalid parameters
'401':
description: Unauthorized
put:
operationId: updateAdAccount
summary: Update an Ad Account
description: Updates one or more ad accounts under the specified organization.
tags:
- Ad Accounts
parameters:
- $ref: '#/components/parameters/organizationId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
adaccounts:
type: array
items:
$ref: '#/components/schemas/AdAccount'
responses:
'200':
description: Ad account updated successfully
content:
application/json:
schema:
type: object
properties:
request_status:
type: string
request_id:
type: string
adaccounts:
type: array
items:
type: object
properties:
adaccount:
$ref: '#/components/schemas/AdAccount'
'400':
description: Bad request
'401':
description: Unauthorized
/adaccounts/{ad_account_id}:
get:
operationId: getAdAccount
summary: Get a Specific Ad Account
description: Retrieves details for a specific ad account by its ID.
tags:
- Ad Accounts
parameters:
- $ref: '#/components/parameters/adAccountId'
responses:
'200':
description: Successful retrieval of ad account
content:
application/json:
schema:
type: object
properties:
request_status:
type: string
request_id:
type: string
adaccounts:
type: array
items:
type: object
properties:
adaccount:
$ref: '#/components/schemas/AdAccount'
'401':
description: Unauthorized
'404':
description: Ad account not found
components:
schemas:
AdAccount:
type: object
description: An Ad Account contains advertising campaigns and is owned by an Organization. Each Ad Account has one or more Funding Sources.
properties:
id:
type: string
description: The unique identifier of the ad account
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 ad account
type:
type: string
description: The type of ad account
enum:
- PARTNER
- DIRECT
status:
type: string
description: The status of the ad account
enum:
- ACTIVE
- PAUSED
- DISABLED
organization_id:
type: string
description: The ID of the parent organization
funding_source_ids:
type: array
items:
type: string
description: Array of funding source IDs associated with this account
currency:
type: string
description: The currency code for the ad account (e.g., USD)
timezone:
type: string
description: The timezone of the ad account (e.g., America/Los_Angeles)
advertiser:
type: string
description: The name of the advertiser
parameters:
organizationId:
name: organization_id
in: path
required: true
description: The unique identifier of the organization
schema:
type: string
adAccountId:
name: ad_account_id
in: path
required: true
description: The unique identifier of the ad account
schema:
type: string
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