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