openapi: 3.1.0 info: title: Amazon Advertising API description: >- The Amazon Advertising API enables programmatic management of advertising campaigns on Amazon. It provides access to Sponsored Products, Sponsored Brands, and Sponsored Display campaigns across various marketplaces. Developers can create, manage, and optimize advertising campaigns, access reporting data, and manage budgets and targeting through this REST API. version: '1.0' contact: name: Amazon Advertising Support url: https://advertising.amazon.com/API/docs/en-us termsOfService: https://advertising.amazon.com/terms externalDocs: description: Amazon Advertising API Documentation url: https://advertising.amazon.com/API/docs/en-us/reference/api-overview servers: - url: https://advertising-api.amazon.com description: North America - url: https://advertising-api-eu.amazon.com description: Europe - url: https://advertising-api-fe.amazon.com description: Far East - url: https://advertising-api-test.amazon.com description: Test/Sandbox tags: - name: Ad Groups description: Ad group management operations - name: Campaigns description: Campaign management operations - name: Keywords description: Keyword management operations - name: Profiles description: Account profile management - name: Reports description: Reporting and analytics - name: Targets description: Product targeting operations security: - bearerAuth: [] paths: /v2/profiles: get: operationId: listProfiles summary: Amazon List Advertising Profiles description: >- Returns a list of advertising profiles associated with the account. tags: - Profiles responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Profile' '401': description: Unauthorized /v2/sp/campaigns: get: operationId: listCampaigns summary: Amazon List Sponsored Products Campaigns description: >- Returns a list of Sponsored Products campaigns for the specified advertiser profile. tags: - Campaigns parameters: - $ref: '#/components/parameters/ProfileId' - name: startIndex in: query schema: type: integer - name: count in: query schema: type: integer maximum: 100 - name: stateFilter in: query schema: type: string enum: - enabled - paused - archived responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Campaign' '401': description: Unauthorized post: operationId: createCampaigns summary: Amazon Create Sponsored Products Campaigns description: >- Creates one or more Sponsored Products campaigns. tags: - Campaigns parameters: - $ref: '#/components/parameters/ProfileId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CreateCampaignRequest' responses: '207': description: Multi-status content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignResponse' '401': description: Unauthorized put: operationId: updateCampaigns summary: Amazon Update Sponsored Products Campaigns description: >- Updates one or more Sponsored Products campaigns. tags: - Campaigns parameters: - $ref: '#/components/parameters/ProfileId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/UpdateCampaignRequest' responses: '207': description: Multi-status content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignResponse' '401': description: Unauthorized /v2/sp/campaigns/{campaignId}: get: operationId: getCampaign summary: Amazon Get Campaign Details description: >- Returns a Sponsored Products campaign by campaign ID. tags: - Campaigns parameters: - $ref: '#/components/parameters/ProfileId' - name: campaignId in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Campaign' '404': description: Not found delete: operationId: archiveCampaign summary: Amazon Archive Campaign description: >- Sets the campaign status to archived. tags: - Campaigns parameters: - $ref: '#/components/parameters/ProfileId' - name: campaignId in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CampaignResponse' '404': description: Not found /v2/sp/adGroups: get: operationId: listAdGroups summary: Amazon List Ad Groups description: >- Returns a list of ad groups for the specified advertiser profile. tags: - Ad Groups parameters: - $ref: '#/components/parameters/ProfileId' - name: campaignIdFilter in: query schema: type: string - name: stateFilter in: query schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/AdGroup' '401': description: Unauthorized post: operationId: createAdGroups summary: Amazon Create Ad Groups description: >- Creates one or more ad groups. tags: - Ad Groups parameters: - $ref: '#/components/parameters/ProfileId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CreateAdGroupRequest' responses: '207': description: Multi-status content: application/json: schema: type: array items: $ref: '#/components/schemas/AdGroupResponse' '401': description: Unauthorized /v2/sp/keywords: get: operationId: listKeywords summary: Amazon List Keywords description: >- Returns a list of keywords for the specified advertiser profile. tags: - Keywords parameters: - $ref: '#/components/parameters/ProfileId' - name: campaignIdFilter in: query schema: type: string - name: adGroupIdFilter in: query schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Keyword' '401': description: Unauthorized post: operationId: createKeywords summary: Amazon Create Keywords description: >- Creates one or more keywords. tags: - Keywords parameters: - $ref: '#/components/parameters/ProfileId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CreateKeywordRequest' responses: '207': description: Multi-status content: application/json: schema: type: array items: $ref: '#/components/schemas/KeywordResponse' '401': description: Unauthorized /v2/sp/targets: get: operationId: listTargets summary: Amazon List Product Targets description: >- Returns a list of product targets for the specified advertiser profile. tags: - Targets parameters: - $ref: '#/components/parameters/ProfileId' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Target' '401': description: Unauthorized post: operationId: createTargets summary: Amazon Create Product Targets description: >- Creates one or more product targets. tags: - Targets parameters: - $ref: '#/components/parameters/ProfileId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CreateTargetRequest' responses: '207': description: Multi-status content: application/json: schema: type: array items: $ref: '#/components/schemas/TargetResponse' '401': description: Unauthorized /v2/sp/{recordType}/report: post: operationId: requestReport summary: Amazon Request a Report description: >- Requests the creation of a performance report for the specified record type. tags: - Reports parameters: - $ref: '#/components/parameters/ProfileId' - name: recordType in: path required: true schema: type: string enum: - campaigns - adGroups - keywords - productAds - asins - targets requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ReportRequestResponse' '401': description: Unauthorized /v2/reports/{reportId}: get: operationId: getReport summary: Amazon Get Report Status description: >- Returns the status and download location of a previously requested report. tags: - Reports parameters: - $ref: '#/components/parameters/ProfileId' - name: reportId in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ReportStatus' '404': description: Not found components: securitySchemes: bearerAuth: type: http scheme: bearer description: >- OAuth 2.0 access token from Login with Amazon parameters: ProfileId: name: Amazon-Advertising-API-Scope in: header required: true description: The advertising profile ID schema: type: string schemas: Profile: type: object properties: profileId: type: string countryCode: type: string currencyCode: type: string accountInfo: type: object properties: marketplaceStringId: type: string id: type: string type: type: string enum: - seller - vendor Campaign: type: object properties: campaignId: type: string name: type: string state: type: string enum: - enabled - paused - archived dailyBudget: type: number startDate: type: string endDate: type: string targetingType: type: string enum: - manual - auto premiumBidAdjustment: type: boolean CreateCampaignRequest: type: object required: - name - state - dailyBudget - startDate - targetingType properties: name: type: string state: type: string enum: - enabled - paused dailyBudget: type: number startDate: type: string endDate: type: string targetingType: type: string enum: - manual - auto UpdateCampaignRequest: type: object required: - campaignId properties: campaignId: type: string name: type: string state: type: string dailyBudget: type: number CampaignResponse: type: object properties: campaignId: type: string code: type: string description: type: string AdGroup: type: object properties: adGroupId: type: string campaignId: type: string name: type: string state: type: string defaultBid: type: number CreateAdGroupRequest: type: object required: - campaignId - name - state - defaultBid properties: campaignId: type: string name: type: string state: type: string defaultBid: type: number AdGroupResponse: type: object properties: adGroupId: type: string code: type: string description: type: string Keyword: type: object properties: keywordId: type: string campaignId: type: string adGroupId: type: string keywordText: type: string matchType: type: string enum: - broad - exact - phrase state: type: string bid: type: number CreateKeywordRequest: type: object required: - campaignId - adGroupId - keywordText - matchType - state properties: campaignId: type: string adGroupId: type: string keywordText: type: string matchType: type: string enum: - broad - exact - phrase state: type: string bid: type: number KeywordResponse: type: object properties: keywordId: type: string code: type: string description: type: string Target: type: object properties: targetId: type: string campaignId: type: string adGroupId: type: string state: type: string bid: type: number expressionType: type: string expression: type: array items: type: object CreateTargetRequest: type: object required: - campaignId - adGroupId - state - expression - expressionType properties: campaignId: type: string adGroupId: type: string state: type: string bid: type: number expression: type: array items: type: object expressionType: type: string TargetResponse: type: object properties: targetId: type: string code: type: string description: type: string ReportRequest: type: object properties: reportDate: type: string metrics: type: string segment: type: string ReportRequestResponse: type: object properties: reportId: type: string status: type: string ReportStatus: type: object properties: reportId: type: string status: type: string enum: - IN_PROGRESS - SUCCESS - FAILURE location: type: string format: uri fileSize: type: integer