diff --git a/docs/schemas/attribution.json b/docs/schemas/attribution.json
index b3377fc..3c61b6c 100644
--- a/docs/schemas/attribution.json
+++ b/docs/schemas/attribution.json
@@ -453,6 +453,18 @@
"description": "The identifier of a publisher that does not support macros.",
"type": "string"
},
+ "PublishersResponse": {
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "description": "A list of publishers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Publisher"
+ }
+ }
+ }
+ },
"MaaSError": {
"description": "The error response object.",
"type": "object",
@@ -467,30 +479,12 @@
}
}
},
- "PublishersResponse": {
- "type": "object",
- "properties": {
- "publisher": {
- "description": "A list of publishers.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Publisher"
- }
- }
- }
- },
"macroPublishers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/macroPublisher"
}
},
- "nonMacroPublishers": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/nonMacroPublisher"
- }
- },
"Publisher": {
"type": "object",
"properties": {
@@ -520,6 +514,12 @@
}
}
},
+ "nonMacroPublishers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/nonMacroPublisher"
+ }
+ },
"attributionTagMap": {
"description": "An object representing the association between a publisher identifier and an attribution tag.",
"additionalProperties": {
diff --git a/docs/schemas/authorization-manager-account.json b/docs/schemas/authorization-manager-account.json
index f795842..42775b3 100644
--- a/docs/schemas/authorization-manager-account.json
+++ b/docs/schemas/authorization-manager-account.json
@@ -191,8 +191,8 @@
]
},
"get": {
- "summary": "Returns all Manager accounts that a given Amazon Advertising user has access to.",
- "description": "Returns all [Manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for all of the Amazon Advertising accounts that are linked to the Manager account.",
+ "summary": "Returns all manager accounts that a given Amazon Ads user has access to.",
+ "description": "Returns all [manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for the Amazon Ads accounts that are linked to each manager account. NOTE: A maximum of 50 linked accounts are returned for each manager account.",
"operationId": "getManagerAccountsForUser",
"responses": {
"200": {
@@ -407,6 +407,7 @@
"type": "string"
},
"linkedAccounts": {
+ "maxItems": 50,
"type": "array",
"items": {
"$ref": "#/components/schemas/Account"
@@ -481,6 +482,19 @@
"MARKETING_CLOUD"
]
},
+ "GetManagerAccountsResponse": {
+ "description": "Response containing a list of Manager Accounts that a given user has access to.",
+ "type": "object",
+ "properties": {
+ "managerAccounts": {
+ "description": "List of Manager Accounts that the user has access to",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ManagerAccount"
+ }
+ }
+ }
+ },
"AccountToUpdate": {
"description": "String identifier for an Amazon Advertising account or advertiser. `ACCOUNT_ID` is an identifier that is returned by the [Profiles resource](https://advertising.amazon.com/API/docs/en-us/reference/2/profiles#/Profiles/listProfiles), within the `AccountInfo.id` data member. `ACCOUNT_ID` may begin with the string `\"ENTITY\"`.\n`DSP_ADVERTISER_ID` is an identifier for a DSP advertiser, which is returned by the [DSP resource](https://advertising.amazon.com/API/docs/en-us/dsp-advertiser/#/Advertiser/get_dsp_advertisers).",
"type": "object",
@@ -506,19 +520,6 @@
}
}
},
- "GetManagerAccountsResponse": {
- "description": "Response containing a list of Manager Accounts that a given user has access to.",
- "type": "object",
- "properties": {
- "managerAccounts": {
- "description": "List of Manager Accounts that the user has access to",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ManagerAccount"
- }
- }
- }
- },
"UpdateAdvertisingAccountsInManagerAccountResponse": {
"description": "Link/Unlink Advertising account or advertiser Response",
"type": "object",
diff --git a/docs/schemas/common-audiences.json b/docs/schemas/common-audiences.json
index 3f81ed9..fcb7f27 100644
--- a/docs/schemas/common-audiences.json
+++ b/docs/schemas/common-audiences.json
@@ -8,6 +8,10 @@
"/audiences/list": {
"post": {
"summary": "Gets audience segments based on filters",
+ "description": "Returns a list of audience segments for an advertiser. The result set can be filtered by providing an array of Filter objects. Each item in the resulting set will match all specified filters.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "tags": [
+ "Discovery"
+ ],
"requestBody": {
"content": {
"application/json": {
@@ -18,7 +22,6 @@
},
"required": false
},
- "description": "Returns a list of audience segments for an advertiser. The result set can be filtered by providing an array of Filter objects. Each item in the resulting set will match all specified filters.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"operationId": "listAudiences",
"responses": {
"200": {
@@ -127,15 +130,16 @@
"name": "maxResults",
"description": "Sets the maximum number of audiences in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. For example, supplying maxResults=20 with a previously returned token will fetch up to the next 20 items. In some cases, fewer items may be returned."
}
- ],
- "tags": [
- "Discovery"
]
}
},
"/audiences/taxonomy/list": {
"post": {
"summary": "Browse the taxonomy of audience categories",
+ "description": "Returns a list of audience categories for a given category path\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "tags": [
+ "Discovery"
+ ],
"requestBody": {
"content": {
"application/json": {
@@ -146,7 +150,6 @@
},
"required": true
},
- "description": "Returns a list of audience categories for a given category path\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"operationId": "fetchTaxonomy",
"responses": {
"200": {
@@ -246,9 +249,6 @@
"name": "maxResults",
"description": "Sets the maximum number of categories in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. For example, supplying maxResults=20 with a previously returned token will fetch up to the next 20 items. In some cases, fewer items may be returned."
}
- ],
- "tags": [
- "Discovery"
]
}
}
@@ -291,18 +291,14 @@
}
}
},
- "FetchTaxonomyRequestBodyV1": {
- "description": "The response data will have the categories that are under the given path, and main categories will be returned if no path is specified. The response data also depends on the adType specified here since ad programs may support targeting audiences in certain categories.",
+ "AudienceFilterV1": {
"type": "object",
"properties": {
- "adType": {
- "type": "string",
- "enum": [
- "DSP",
- "SD"
- ]
+ "field": {
+ "description": "Field to filter by. Supported enums are 'audienceName', 'category', 'categoryPath', 'audienceId' and 'status'. The 'category' enum returns all audiences under a high-level category, whereas the 'categoryPath' enum expects a path of nodes in the taxonomy tree and returns audiences attached directly to the node at the specified path.",
+ "type": "string"
},
- "categoryPath": {
+ "values": {
"type": "array",
"items": {
"type": "string"
@@ -310,14 +306,18 @@
}
}
},
- "AudienceFilterV1": {
+ "FetchTaxonomyRequestBodyV1": {
+ "description": "The response data will have the categories that are under the given path, and main categories will be returned if no path is specified. The response data also depends on the adType specified here since ad programs may support targeting audiences in certain categories.",
"type": "object",
"properties": {
- "field": {
- "description": "Field to filter by. Supported enums are 'audienceName', 'category', 'categoryPath' and 'audienceId'. The 'category' enum returns all audiences under a high-level category, whereas the 'categoryPath' enum expects a path of nodes in the taxonomy tree and returns audiences attached directly to the node at the specified path.",
- "type": "string"
+ "adType": {
+ "type": "string",
+ "enum": [
+ "DSP",
+ "SD"
+ ]
},
- "values": {
+ "categoryPath": {
"type": "array",
"items": {
"type": "string"
@@ -495,25 +495,6 @@
}
}
},
- "AudienceSubErrorV1": {
- "description": "The sub error object.",
- "type": "object",
- "required": [
- "errorType",
- "message"
- ],
- "properties": {
- "fieldName": {
- "type": "string"
- },
- "errorType": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- }
- },
"FetchTaxonomyResponseV1": {
"type": "object",
"properties": {
@@ -534,6 +515,25 @@
}
}
},
+ "AudienceSubErrorV1": {
+ "description": "The sub error object.",
+ "type": "object",
+ "required": [
+ "errorType",
+ "message"
+ ],
+ "properties": {
+ "fieldName": {
+ "type": "string"
+ },
+ "errorType": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
"FetchTaxonomyNodeV1": {
"type": "object",
"properties": {
diff --git a/docs/schemas/common-billing.json b/docs/schemas/common-billing.json
index 1f2c053..ee2e5b9 100644
--- a/docs/schemas/common-billing.json
+++ b/docs/schemas/common-billing.json
@@ -437,12 +437,9 @@
"type": "object",
"required": [
"amountDue",
- "dueDate",
"fromDate",
"id",
"invoiceDate",
- "paymentMethod",
- "purchaseOrderNumber",
"remainingAmountDue",
"status",
"toDate"
@@ -1249,27 +1246,6 @@
"INTERNAL_ERROR"
]
},
- "governmentInvoiceInformation": {
- "description": "Government invoice data is provided in marketplaces (such as Italy or India) that require a government-assigned invoice ID. This object contains this identifier, along with the type of transaction from a government standpoint (which will always be a debit in the case of an invoice).\n",
- "title": "Government Invoice Information",
- "type": "object",
- "properties": {
- "transactionType": {
- "type": "string",
- "enum": [
- "DEBIT",
- "CREDIT"
- ]
- },
- "countryCode": {
- "$ref": "#/components/schemas/countryCode"
- },
- "governmentInvoiceId": {
- "description": "Government generated ID",
- "type": "string"
- }
- }
- },
"address": {
"title": "Address",
"type": "object",
@@ -1321,6 +1297,27 @@
}
}
},
+ "governmentInvoiceInformation": {
+ "description": "Government invoice data is provided in marketplaces (such as Italy or India) that require a government-assigned invoice ID. This object contains this identifier, along with the type of transaction from a government standpoint (which will always be a debit in the case of an invoice).\n",
+ "title": "Government Invoice Information",
+ "type": "object",
+ "properties": {
+ "transactionType": {
+ "type": "string",
+ "enum": [
+ "DEBIT",
+ "CREDIT"
+ ]
+ },
+ "countryCode": {
+ "$ref": "#/components/schemas/countryCode"
+ },
+ "governmentInvoiceId": {
+ "description": "Government generated ID",
+ "type": "string"
+ }
+ }
+ },
"advertiserMarketplace": {
"type": "object",
"title": "Advertiser Marketplace",
diff --git a/docs/schemas/common-eligibility.json b/docs/schemas/common-eligibility.json
index fe6b389..2148f18 100644
--- a/docs/schemas/common-eligibility.json
+++ b/docs/schemas/common-eligibility.json
@@ -455,7 +455,7 @@
]
},
"ProgramEligibilityRequestContent": {
- "description": "A request to evaluate account level eligibility for Amazon ad programs (Sponsored Products, Sponsored Brands, Sponsored Display, Stores, etc).",
+ "description": "A request to evaluate account level eligibility for Amazon ad programs (Sponsored Products, Sponsored Brands, Sponsored Display, Stores, DirectToConsumer, Amazon Attribution, etc).",
"type": "object",
"properties": {
"skipChecks": {
@@ -640,7 +640,7 @@
}
},
"EligibilityStatusMap": {
- "description": "This is a map that will be key'd on the ad program (SB/SD); the value will be an eligibility object.",
+ "description": "This is a map that will be key'd on the ad program (SB/SD/DTC/MAAS); the value will be an eligibility object.",
"additionalProperties": {
"$ref": "#/components/schemas/EligibilityStatusDetail"
},
diff --git a/docs/schemas/common-localization.json b/docs/schemas/common-localization.json
index 30c52fd..1288302 100644
--- a/docs/schemas/common-localization.json
+++ b/docs/schemas/common-localization.json
@@ -486,6 +486,10 @@
"/targetingExpression/localize": {
"post": {
"summary": "Localizes targeting expressions used for advertising targeting.",
+ "description": "Localizes (maps) targeting expressions from a source marketplace to one or more target marketplaces. V3: Providing locales in your request's source details or target details, will now return in <sourceField> and <targetField> respectively the translations of your targeting expressions.",
+ "tags": [
+ "Targeting Expression Localization"
+ ],
"requestBody": {
"description": "Contains a list of targeting expressions to localize.",
"content": {
@@ -502,7 +506,6 @@
},
"required": true
},
- "description": "Localizes (maps) targeting expressions from a source marketplace to one or more target marketplaces. V3: Providing locales in your request's source details or target details, will now return in <sourceField> and <targetField> respectively the translations of your targeting expressions.",
"operationId": "getLocalizedTargetingExpression",
"responses": {
"200": {
@@ -743,9 +746,6 @@
"description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
"required": true
}
- ],
- "tags": [
- "Targeting Expression Localization"
]
}
}
diff --git a/docs/schemas/dsp-measurement.json b/docs/schemas/dsp-measurement.json
index d7bfa0f..aada592 100644
--- a/docs/schemas/dsp-measurement.json
+++ b/docs/schemas/dsp-measurement.json
@@ -530,6 +530,47 @@
}
}
},
+ "422": {
+ "description": "Unprocessable Entity - The syntax of the request is correct, but the server was unable to process the contained instructions.",
+ "content": {
+ "application/vnd.studymanagement.v1.1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ },
+ "application/vnd.studymanagement.v1.2+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ },
+ "application/vnd.studymanagement.v1.3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ },
+ "application/vnd.studymanagement.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ }
+ }
+ },
"429": {
"description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
@@ -1288,6 +1329,47 @@
}
}
},
+ "422": {
+ "description": "Unprocessable Entity - The syntax of the request is correct, but the server was unable to process the contained instructions.",
+ "content": {
+ "application/vnd.studymanagement.v1.1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ },
+ "application/vnd.studymanagement.v1.2+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ },
+ "application/vnd.studymanagement.v1.3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ },
+ "application/vnd.studymanagement.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Study Eligibility Failed"
+ }
+ }
+ }
+ },
"429": {
"description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
@@ -6894,6 +6976,165 @@
]
}
},
+ "/measurement/studies/{studyId}/curatedResult/download": {
+ "get": {
+ "summary": "Get the 3P vendor's curated result file.",
+ "description": "Get the download link and file type of the 3P vendor's study results in an easy to read and understand format which breaks down the effectiveness of an ad campaign. Returns a `200` response that includes an AWS S3 pre-signed URL where the curated study results file is located and the file type (format). The `OTHER` file type is returned when a new file type is added and is not supported in the current version of this API.For full support of the new file type, migrate to the latest version of this API when it is made available. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created.\n\n**Requires one of these permissions**:\n[]",
+ "operationId": "GetCuratedStudyResult",
+ "responses": {
+ "200": {
+ "description": "Successful operation for downloading curated results file.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/CuratedStudyResultV1"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "The `studyId` path parameter is missing, is of the wrong format or the study type associated with the `studyId` doesn't provide curated results.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "ad165994-489a-4fcf-a175-7a846c899b41",
+ "message": "1 validation error(s) occurred. Please correct them and request again.",
+ "errors": [
+ {
+ "fieldName": "studyId",
+ "errorType": "Unsupported study type",
+ "message": "Omnichannel Metrics is not supported, supported study types are: Brand Lift"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthenticated request.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "ad165994-489a-4fcf-a175-7a846c899b41",
+ "message": "Unauthenticated Request"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - Request failed because user is not authorized to access a resource.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "ad165994-489a-4fcf-a175-7a846c899b41",
+ "message": "Unauthorized Access",
+ "errors": [
+ {
+ "errorType": "ENTITY_NOT_ALLOWED",
+ "message": "Given entity is not allowed"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found - Requested resource does not exist or is not visible for the authenticated user.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "ad165994-489a-4fcf-a175-7a846c899b41",
+ "message": "Resource Not Found"
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "Unsupported Media Type - Version not supported.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e",
+ "message": "Invalid `accept` header provided. Please ensure you are specifying supported version for the requested resource."
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "ad165994-489a-4fcf-a175-7a846c899b41",
+ "message": "Too Many Requests"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error.",
+ "content": {
+ "application/vnd.measurementresult.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorV1"
+ },
+ "example": {
+ "requestId": "ad165994-489a-4fcf-a175-7a846c899b41",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/clientHeader"
+ },
+ {
+ "$ref": "#/components/parameters/profileHeader"
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Accept",
+ "description": "The version(s) of the requested resource. Available version(s) - `application/vnd.measurementresult.v1+json`.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "path",
+ "name": "studyId",
+ "description": "The canonical identifier that represents a unique study.",
+ "required": true
+ }
+ ],
+ "tags": [
+ "Measurement"
+ ]
+ }
+ },
"/measurement/vendorProducts/omnichannelMetrics/brands/list": {
"post": {
"summary": "Search for brands to be used in the OMNICHANNEL_METRICS vendor product.",
@@ -9122,6 +9363,9 @@
"description": "Associated vendor product canonical identifier.",
"type": "string"
},
+ "submissionType": {
+ "$ref": "#/components/schemas/StudySubmissionTypeV1"
+ },
"lastUpdatedDate": {
"format": "date-time",
"description": "The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.",
diff --git a/docs/schemas/dsp.json b/docs/schemas/dsp.json
index 35f93d9..0a0709f 100644
--- a/docs/schemas/dsp.json
+++ b/docs/schemas/dsp.json
@@ -78,6 +78,11 @@
"200": {
"description": "Successful operation.",
"content": {
+ "application/vnd.dsporders.v2.3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/OrderV2_3"
+ }
+ },
"application/vnd.dsporders.v2.2+json": {
"schema": {
"$ref": "#/components/schemas/OrderV2_2"
@@ -501,6 +506,11 @@
"200": {
"description": "Successful operation.",
"content": {
+ "application/vnd.dsporders.v2.3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/OrdersV2_3"
+ }
+ },
"application/vnd.dsporders.v2.2+json": {
"schema": {
"$ref": "#/components/schemas/OrdersV2_2"
@@ -876,6 +886,16 @@
"requestBody": {
"description": "An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.",
"content": {
+ "application/vnd.dsporders.v2.3+json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrderV2_3"
+ },
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
"application/vnd.dsporders.v2.2+json": {
"schema": {
"type": "array",
@@ -912,6 +932,14 @@
"207": {
"description": "Multi-status. This holds array of items which represents success or failure corresponding to the index in the request body.",
"content": {
+ "application/vnd.dsporders.v2.3+json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrderResponse"
+ }
+ }
+ },
"application/vnd.dsporders.v2.2+json": {
"schema": {
"type": "array",
@@ -1296,6 +1324,16 @@
"requestBody": {
"description": "An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.",
"content": {
+ "application/vnd.dsporders.v2.3+json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrderV2_3"
+ },
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
"application/vnd.dsporders.v2.2+json": {
"schema": {
"type": "array",
@@ -1332,6 +1370,14 @@
"207": {
"description": "Multi-status. This holds array of items which represents success or failure corresponding to the index in the request body.",
"content": {
+ "application/vnd.dsporders.v2.3+json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrderResponse"
+ }
+ }
+ },
"application/vnd.dsporders.v2.2+json": {
"schema": {
"type": "array",
@@ -9782,6 +9828,20 @@
"200": {
"description": "Success",
"content": {
+ "application/vnd.goalconfigurations.v1+json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "goalConfigurations": {
+ "type": "array",
+ "description": "Array of GoalConfiguration sorted by goal name in ascending lexicographical order.",
+ "items": {
+ "$ref": "#/components/schemas/GoalConfigurationV1"
+ }
+ }
+ }
+ }
+ },
"application/json": {
"schema": {
"type": "object",
@@ -9801,6 +9861,11 @@
"400": {
"description": "Bad Request.",
"content": {
+ "application/vnd.goalconfigurations.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ },
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
@@ -9811,6 +9876,11 @@
"401": {
"description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
+ "application/vnd.goalconfigurations.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ },
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
@@ -9821,6 +9891,11 @@
"403": {
"description": "Forbidden. The request failed because the user does not have access to the specified resource.",
"content": {
+ "application/vnd.goalconfigurations.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ },
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
@@ -9831,6 +9906,11 @@
"429": {
"description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
+ "application/vnd.goalconfigurations.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ },
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
@@ -9841,6 +9921,11 @@
"500": {
"description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
+ "application/vnd.goalconfigurations.v1+json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ },
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
@@ -10338,6 +10423,23 @@
}
}
},
+ "OrdersV2_3": {
+ "type": "object",
+ "properties": {
+ "totalResults": {
+ "type": "integer",
+ "description": "Total number of results which satisfy the filtering criteria. This will help to support pagination."
+ },
+ "response": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrderBasicV2_3"
+ },
+ "minItems": 1,
+ "maxItems": 100
+ }
+ }
+ },
"OrderBasic": {
"type": "object",
"description": "This model is designed to support batch get operation for better performance.",
@@ -10424,6 +10526,71 @@
}
}
},
+ "OrderBasicV2_3": {
+ "type": "object",
+ "description": "This model is designed to support batch get operation for better performance.",
+ "properties": {
+ "orderId": {
+ "type": "string",
+ "description": "The order identifier."
+ },
+ "advertiserId": {
+ "type": "string",
+ "description": "The advertiser identifier."
+ },
+ "name": {
+ "type": "string",
+ "description": "The order name."
+ },
+ "externalId": {
+ "type": "string",
+ "description": "The order external identifier, also known as purchase order number (PO number). This field is required if \"Mandatory PO numbers\" is set at the entity level. \"N/A\" (not applicable) is a valid value. This field will be deprecated and renamed to poNumber in a future release."
+ },
+ "comments": {
+ "type": "string",
+ "description": "The order comments."
+ },
+ "startDateTime": {
+ "type": "string",
+ "description": "The order start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC"
+ },
+ "endDateTime": {
+ "type": "string",
+ "description": "The order end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC"
+ },
+ "budget": {
+ "$ref": "#/components/schemas/OrderBudgetBasic"
+ },
+ "agencyFee": {
+ "$ref": "#/components/schemas/AgencyFee"
+ },
+ "currencyCode": {
+ "$ref": "#/components/schemas/CurrencyCodeV3"
+ },
+ "deliveryActivationStatus": {
+ "$ref": "#/components/schemas/DeliveryActivationStatus"
+ },
+ "deliveryStatus": {
+ "$ref": "#/components/schemas/OrderDeliveryStatus"
+ },
+ "frequencyCap": {
+ "$ref": "#/components/schemas/FrequencyCap"
+ },
+ "optimization": {
+ "$ref": "#/components/schemas/OrderOptimizationV2_3"
+ },
+ "creationDate": {
+ "type": "string",
+ "description": "The order creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00. This field is available since version `application/vnd.dsporders.v2.1+json`.",
+ "readOnly": true
+ },
+ "lastUpdatedDate": {
+ "type": "string",
+ "description": "The order last update date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00. This field is available since version `application/vnd.dsporders.v2.1+json`.",
+ "readOnly": true
+ }
+ }
+ },
"Order": {
"type": "object",
"description": "Complete order model which willl be used for create/update and get.",
@@ -10511,6 +10678,81 @@
}
}
},
+ "OrderV2_3": {
+ "type": "object",
+ "description": "Complete order model which willl be used for create/update and get.",
+ "properties": {
+ "orderId": {
+ "type": "string",
+ "description": "The order identifier. It will be used to perform update operation. Immutable field."
+ },
+ "advertiserId": {
+ "type": "string",
+ "description": "The advertiser identifier. Immutable field."
+ },
+ "name": {
+ "type": "string",
+ "description": "The order name."
+ },
+ "externalId": {
+ "type": "string",
+ "description": "The order external identifier, also known as purchase order number (PO number). This field is required if \"Mandatory PO numbers\" is set at the entity level. `N/A` (not applicable) is a valid value. This field will be deprecated and renamed to `poNumber` in a future release."
+ },
+ "comments": {
+ "type": "string",
+ "description": "The order comments."
+ },
+ "startDateTime": {
+ "type": "string",
+ "description": "The order start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC. The start date has to be modeled as a part of flights object.\n",
+ "readOnly": true
+ },
+ "endDateTime": {
+ "type": "string",
+ "description": "The order end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC. The end date has to be modeled as a part of flights object.\n",
+ "readOnly": true
+ },
+ "budget": {
+ "$ref": "#/components/schemas/OrderBudget"
+ },
+ "currencyCode": {
+ "$ref": "#/components/schemas/CurrencyCodeV3"
+ },
+ "agencyFee": {
+ "description": "It is immutable if the order has one or more lineItems.",
+ "$ref": "#/components/schemas/AgencyFee"
+ },
+ "frequencyCap": {
+ "$ref": "#/components/schemas/FrequencyCap"
+ },
+ "optimization": {
+ "$ref": "#/components/schemas/OrderOptimizationV2_3"
+ },
+ "deliveryActivationStatus": {
+ "$ref": "#/components/schemas/DeliveryActivationStatus"
+ },
+ "deliveryStatus": {
+ "$ref": "#/components/schemas/OrderDeliveryStatus"
+ },
+ "creationDate": {
+ "type": "string",
+ "description": "The order creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00.",
+ "readOnly": true
+ },
+ "lastUpdatedDate": {
+ "type": "string",
+ "description": "The order last update date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "advertiserId",
+ "name",
+ "budget",
+ "frequencyCap",
+ "optimization"
+ ]
+ },
"OrderResponse": {
"description": "Response for the order create/update operations. If operation is successful, it contains only orderId. If it is a failure, it contains only errorDetails. success and failure will be corresponding to that requested index in that batch (array of items).\n",
"type": "object",
@@ -10980,62 +11222,126 @@
"type": "object",
"properties": {
"productLocation": {
- "type": "string",
- "description": "The product location indicates whether the product is endemic or non-endemic.",
- "enum": [
- "SOLD_ON_AMAZON",
- "NOT_SOLD_ON_AMAZON"
- ]
+ "$ref": "#/components/schemas/ProductLocation"
},
"goal": {
- "type": "string",
- "description": "The budget optimization goal type.",
- "enum": [
- "AWARENESS",
- "ENGAGEMENT_WITH_MY_AD",
- "CONSIDERATIONS_ON_AMAZON",
- "CONVERSIONS_OFF_AMAZON",
- "PURCHASES_ON_AMAZON",
- "MOBILE_APP_INSTALLS"
- ]
+ "$ref": "#/components/schemas/OptimizationGoal"
},
"goalKpi": {
- "type": "string",
- "description": "KPI for the selected goal.",
- "enum": [
- "VIDEO_COMPLETION_RATE",
- "CLICK_THROUGH_RATE",
- "COST_PER_CLICK",
- "COST_PER_ACQUISITION",
- "COST_PER_DOWNLOAD",
- "DETAIL_PAGE_VIEW_RATE",
- "COST_PER_DETAIL_PAGE_VIEW",
- "RETURN_ON_AD_SPEND",
- "TOTAL_RETURN_ON_AD_SPEND",
- "COST_PER_VIDEO_COMPLETION",
- "NONE",
- "OTHER",
- "REACH"
- ]
+ "$ref": "#/components/schemas/OptimizationGoalKpi"
},
"autoOptimizations": {
- "type": "array",
- "description": "The list of optimizations supported.",
- "items": {
- "type": "string",
- "enum": [
- "BUDGET",
- "BID"
- ]
- }
+ "$ref": "#/components/schemas/AutoOptimizations"
},
"biddingStrategy": {
- "description": "It specifies how Amazon Ads determines bids on your behalf for each opportunity to serve an impression. It is immutable once the order has started delivering.\n",
- "type": "string",
- "enum": [
- "SPEND_BUDGET_IN_FULL",
- "MAXIMIZE_PERFORMANCE"
- ]
+ "$ref": "#/components/schemas/BiddingStrategy"
+ }
+ },
+ "required": [
+ "productLocation",
+ "goal",
+ "goalKpi"
+ ]
+ },
+ "ProductLocation": {
+ "type": "string",
+ "description": "The product location indicates whether the product is endemic or non-endemic.",
+ "enum": [
+ "SOLD_ON_AMAZON",
+ "NOT_SOLD_ON_AMAZON"
+ ]
+ },
+ "OptimizationGoal": {
+ "type": "string",
+ "description": "The budget optimization goal type.",
+ "enum": [
+ "AWARENESS",
+ "ENGAGEMENT_WITH_MY_AD",
+ "CONSIDERATIONS_ON_AMAZON",
+ "CONVERSIONS_OFF_AMAZON",
+ "PURCHASES_ON_AMAZON",
+ "MOBILE_APP_INSTALLS"
+ ]
+ },
+ "OptimizationGoalKpi": {
+ "type": "string",
+ "description": "KPI for the selected goal.",
+ "enum": [
+ "VIDEO_COMPLETION_RATE",
+ "CLICK_THROUGH_RATE",
+ "COST_PER_CLICK",
+ "COST_PER_ACQUISITION",
+ "COST_PER_DOWNLOAD",
+ "DETAIL_PAGE_VIEW_RATE",
+ "COST_PER_DETAIL_PAGE_VIEW",
+ "RETURN_ON_AD_SPEND",
+ "TOTAL_RETURN_ON_AD_SPEND",
+ "COST_PER_VIDEO_COMPLETION",
+ "NONE",
+ "OTHER",
+ "REACH"
+ ]
+ },
+ "AutoOptimizations": {
+ "type": "array",
+ "description": "The list of optimizations supported.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "BUDGET",
+ "BID"
+ ]
+ }
+ },
+ "BiddingStrategy": {
+ "description": "It specifies how Amazon Advertising determines bids on your behalf for each opportunity to serve an impression. It is immutable once the order has started delivering.\n",
+ "type": "string",
+ "enum": [
+ "SPEND_BUDGET_IN_FULL",
+ "MAXIMIZE_PERFORMANCE"
+ ]
+ },
+ "OptimizationGoalV2_3": {
+ "type": "string",
+ "description": "The budget optimization goal type. PURCHASES_ON_OFF_AMAZON is available since application/vnd.dsporders.v2.3+json.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/OptimizationGoal"
+ }
+ ],
+ "enum": [
+ "PURCHASES_ON_OFF_AMAZON"
+ ]
+ },
+ "OptimizationGoalKpiV2_3": {
+ "type": "string",
+ "description": "KPI for the selected goal. COMBINED_RETURN_ON_AD_SPEND is available since application/vnd.dsporders.v2.3+json.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/OptimizationGoalKpi"
+ }
+ ],
+ "enum": [
+ "COMBINED_RETURN_ON_AD_SPEND"
+ ]
+ },
+ "OrderOptimizationV2_3": {
+ "type": "object",
+ "properties": {
+ "productLocation": {
+ "$ref": "#/components/schemas/ProductLocation"
+ },
+ "goal": {
+ "$ref": "#/components/schemas/OptimizationGoalV2_3"
+ },
+ "goalKpi": {
+ "$ref": "#/components/schemas/OptimizationGoalKpiV2_3"
+ },
+ "autoOptimizations": {
+ "$ref": "#/components/schemas/AutoOptimizations"
+ },
+ "biddingStrategy": {
+ "$ref": "#/components/schemas/BiddingStrategy"
}
},
"required": [
@@ -15340,6 +15646,18 @@
"MOBILE_APP_INSTALLS"
]
},
+ "GoalV1": {
+ "type": "string",
+ "description": "The primary goal that a campaign using this configuration is trying to achieve. PURCHASES_ON_OFF_AMAZON is available since application/vnd.goalconfigurations.v1+json.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Goal"
+ }
+ ],
+ "enum": [
+ "PURCHASES_ON_OFF_AMAZON"
+ ]
+ },
"GoalKpi": {
"type": "string",
"description": "Performance metrics that may be chosen to measure how effectively an order is achieving the desired goal. Although some goals may have multiple possible KPIs, exactly one KPI must be chosen during order creation.",
@@ -15359,6 +15677,18 @@
"VIDEO_COMPLETION_RATE"
]
},
+ "GoalKpiV1": {
+ "type": "string",
+ "description": "Performance metrics that may be chosen to measure how effectively an order is achieving the desired goal. Although some goals may have multiple possible KPIs, exactly one KPI must be chosen during order creation. COMBINED_RETURN_ON_AD_SPEND is available since application/vnd.goalconfigurations.v1+json.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/GoalKpi"
+ }
+ ],
+ "enum": [
+ "COMBINED_RETURN_ON_AD_SPEND"
+ ]
+ },
"AutoOptimization": {
"type": "string",
"enum": [
@@ -15392,6 +15722,32 @@
}
}
},
+ "GoalConfigurationV1": {
+ "type": "object",
+ "properties": {
+ "goalName": {
+ "$ref": "#/components/schemas/GoalV1"
+ },
+ "availableKpis": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kpiName": {
+ "$ref": "#/components/schemas/GoalKpiV1"
+ },
+ "autoOptimizations": {
+ "type": "array",
+ "description": "Which optimizations can be applied for this KPI",
+ "items": {
+ "$ref": "#/components/schemas/AutoOptimization"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"Apps": {
"type": "object",
"properties": {
diff --git a/docs/schemas/sponsored-brands-extra.json b/docs/schemas/sponsored-brands-extra.json
index af9ac17..c109aa2 100644
--- a/docs/schemas/sponsored-brands-extra.json
+++ b/docs/schemas/sponsored-brands-extra.json
@@ -4462,6 +4462,95 @@
}
}
},
+ "MultiAdGroupAd": {
+ "type": "object",
+ "properties": {
+ "adId": {
+ "description": "The ad identifier.",
+ "type": "string"
+ },
+ "campaignId": {
+ "description": "The campaign identifier.",
+ "type": "string"
+ },
+ "landingPage": {
+ "$ref": "#/components/schemas/LandingPage"
+ },
+ "name": {
+ "minLength": 1,
+ "description": "The name of the ad.",
+ "type": "string",
+ "maxLength": 128
+ },
+ "state": {
+ "$ref": "#/components/schemas/EntityState"
+ },
+ "adGroupId": {
+ "description": "The adGroup identifier.",
+ "type": "string"
+ },
+ "creative": {
+ "$ref": "#/components/schemas/Creative"
+ },
+ "extendedData": {
+ "$ref": "#/components/schemas/AdExtendedData"
+ }
+ },
+ "required": [
+ "adGroupId",
+ "adId",
+ "campaignId",
+ "name",
+ "state"
+ ]
+ },
+ "ExtendedProductCollectionCreative": {
+ "type": "object",
+ "properties": {
+ "asins": {
+ "minItems": 0,
+ "maxItems": 3,
+ "uniqueItems": true,
+ "description": "An array of ASINs associated with the creative.",
+ "type": "array",
+ "items": {
+ "description": "ASIN",
+ "type": "string"
+ }
+ },
+ "brandLogoCrop": {
+ "$ref": "#/components/schemas/AssetCrop"
+ },
+ "brandName": {
+ "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
+ "type": "string"
+ },
+ "customImages": {
+ "minItems": 0,
+ "maxItems": 5,
+ "uniqueItems": true,
+ "description": "An array of customImages associated with the creative.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomImage"
+ }
+ },
+ "brandLogoAssetId": {
+ "description": "The identifier of the [brand logo](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#brandlogo) image from the brand store's asset library.\nNote that for campaigns created in the Amazon Advertising console prior to release of the brand store's assets library, responses will not include a value for this field.",
+ "type": "string"
+ },
+ "headline": {
+ "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "asins",
+ "brandLogoAssetId",
+ "brandName",
+ "headline"
+ ]
+ },
"HeadlineSuggestionResponse": {
"description": "Response structure of headline suggestion API.",
"type": "object",
@@ -4599,20 +4688,9 @@
"description": "Creative properties",
"type": "object",
"properties": {
- "asins": {
- "description": "A list of ASINs",
- "type": "array",
- "items": {
- "description": "ASIN",
- "type": "string"
- }
- },
"brandLogoCrop": {
"$ref": "#/components/schemas/AssetCrop"
},
- "brandLogoUrl": {
- "type": "string"
- },
"brandName": {
"description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
"type": "string"
@@ -4621,22 +4699,43 @@
"description": "The identifier of image/video asset from the store's asset library",
"type": "string"
},
- "subpages": {
- "description": "An array of subpages",
+ "landingPage": {
+ "$ref": "#/components/schemas/CreativeLandingPage"
+ },
+ "customImages": {
+ "minItems": 0,
+ "maxItems": 5,
+ "uniqueItems": true,
+ "description": "An array of customImages associated with the creative.",
"type": "array",
"items": {
- "$ref": "#/components/schemas/Subpage"
+ "$ref": "#/components/schemas/CustomImage"
}
},
- "landingPage": {
- "$ref": "#/components/schemas/CreativeLandingPage"
- },
"customImageCrop": {
"$ref": "#/components/schemas/AssetCrop"
},
"customImageUrl": {
"type": "string"
},
+ "asins": {
+ "description": "A list of ASINs",
+ "type": "array",
+ "items": {
+ "description": "ASIN",
+ "type": "string"
+ }
+ },
+ "brandLogoUrl": {
+ "type": "string"
+ },
+ "subpages": {
+ "description": "An array of subpages",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Subpage"
+ }
+ },
"videoAssetIds": {
"minItems": 1,
"maxItems": 1,
@@ -5083,7 +5182,7 @@
"type": "object",
"properties": {
"adId": {
- "description": "The ad identifier.",
+ "description": "The ad identifier. Note: Ads created using version 3/non-multi ad group campaigns do not have an associated adId. [Learn more](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/campaigns/managing-multi-ad-group-campaigns#ads).",
"type": "string"
},
"campaignId": {
@@ -5095,7 +5194,7 @@
},
"name": {
"minLength": 1,
- "description": "The name of the ad.",
+ "description": "The name of the ad. Note: Ads created using version 3/non-multi ad group campaigns do not have an associated name. [Learn more](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/campaigns/managing-multi-ad-group-campaigns#ads).",
"type": "string",
"maxLength": 128
},
@@ -5115,9 +5214,7 @@
},
"required": [
"adGroupId",
- "adId",
"campaignId",
- "name",
"state"
]
},
@@ -5762,6 +5859,23 @@
"adGroups"
]
},
+ "CustomImage": {
+ "description": "Custom Image",
+ "type": "object",
+ "properties": {
+ "assetId": {
+ "description": "The identifier of the Custom image from the Store assets library.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#customimage) for more information on what constitutes a valid Custom image.",
+ "type": "string"
+ },
+ "crop": {
+ "$ref": "#/components/schemas/AssetCrop"
+ },
+ "url": {
+ "description": "Read-only URL of image.",
+ "type": "string"
+ }
+ }
+ },
"SBListAssociatedBudgetRulesResponse": {
"type": "object",
"properties": {
@@ -6287,6 +6401,22 @@
}
}
},
+ "CreateExtendedProductCollectionCreativeRequestContent": {
+ "type": "object",
+ "properties": {
+ "adId": {
+ "description": "The unique ID of a Sponsored Brands ad.",
+ "type": "string"
+ },
+ "creative": {
+ "$ref": "#/components/schemas/ExtendedProductCollectionCreative"
+ }
+ },
+ "required": [
+ "adId",
+ "creative"
+ ]
+ },
"AsinComponent": {
"description": "Asin component which needs to be pre moderated.",
"type": "object",
@@ -7958,8 +8088,13 @@
"enum": [
"PRODUCT_LIST",
"STORE",
+ "DETAIL_PAGE",
"CUSTOM_URL",
- "DETAIL_PAGE"
+ "AD_LANDING_PREVIEW",
+ "SEARCH",
+ "BROWSE",
+ "ADVERTISING_LANDING_PAGE",
+ "UNKNOWN"
]
},
"PerformanceMeasureCondition": {
@@ -9889,6 +10024,20 @@
}
}
},
+ "CreateExtendedProductCollectionCreativeResponseContent": {
+ "description": "Create creative response",
+ "type": "object",
+ "properties": {
+ "adId": {
+ "description": "The unique ID of a Sponsored Brands ad.",
+ "type": "string"
+ },
+ "creativeVersion": {
+ "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
+ "type": "string"
+ }
+ }
+ },
"ViolatingImageContent": {
"type": "object",
"properties": {
@@ -10534,6 +10683,10 @@
"type": "string"
}
},
+ "isPrimeShipping": {
+ "description": "Indicates if products have prime shipping. Leave empty to include both prime shipping and non-prime shipping products.",
+ "type": "boolean"
+ },
"ratingRange": {
"$ref": "#/components/schemas/SBTargetingRatingRange"
},
@@ -10543,10 +10696,6 @@
},
"priceRange": {
"$ref": "#/components/schemas/SBTargetingPriceRange"
- },
- "isPrimeShopping": {
- "description": "Indicates if products have prime shipping",
- "type": "boolean"
}
},
"required": [
@@ -10711,7 +10860,7 @@
"type": "string"
},
"ad": {
- "$ref": "#/components/schemas/Ad"
+ "$ref": "#/components/schemas/MultiAdGroupAd"
},
"index": {
"description": "The index in the original list from the request.",
diff --git a/docs/schemas/sponsored-brands.json b/docs/schemas/sponsored-brands.json
index af528dd..e165a0d 100644
--- a/docs/schemas/sponsored-brands.json
+++ b/docs/schemas/sponsored-brands.json
@@ -122,7 +122,7 @@
],
"operationId": "listCampaigns",
"summary": "Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.",
- "description": "**Note**: To ensure you are getting all campaign data, use the [version 4 list campaigns endpoint](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/ListSponsoredBrandsCampaigns) instead.\n\nTo return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser's eligibility status. ",
+ "description": "**Note**: GET /sb/campaigns returns only a single ad group and creative per campaign. Additionally, the v3.x endpoint does not return [brand video](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Ads/CreateSponsoredBrandsBrandVideoAds) ads. To view the full list of ad groups and ads associated to a campaign, use the [version 4 list endpoints](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod) instead.\n\nTo return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser's eligibility status. ",
"parameters": [
{
"$ref": "#/components/parameters/clientHeader"
diff --git a/docs/schemas/sponsored-display.json b/docs/schemas/sponsored-display.json
index 1738175..e8f91f9 100644
--- a/docs/schemas/sponsored-display.json
+++ b/docs/schemas/sponsored-display.json
@@ -6053,7 +6053,7 @@
],
"operationId": "getTargetBidRecommendations",
"summary": "Returns a set of bid recommendations for targeting clauses",
- "description": "Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses.\n\nThe recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause.\n\n\nReceive bid recommendations using the following:\nContextual targeting clause|Description|\n|-----------|----|\n|asinSameAs=B0123456789|Receive a bid recommendation for this target product\n|asinCategorySameAs=12345|Receive a bid recommendation for this target category\n|similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins.\n\n\nAudience targeting clause|Description|\n|-----------|----|\n|views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category\n|views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins\n|views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins\n\n\n#### Notes:\n- Bid recommendations for purchases and audiences are **not currently supported**. This note will be removed when these operations are available.\n- Refinements are currently not supported and if included will not impact the bid recommendation for the target.\n\n\n#### Advertised ASIN Notes:\n- For asinSameAs targets the advertised asins will not impact the bid recommendation\n- For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation\n- For similarProduct & exactProduct targets the advertised asins are required",
+ "description": "Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses.\n\nThe recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause.\n\n\nReceive bid recommendations using the following:\nContextual targeting clause|Description|\n|-----------|----|\n|asinSameAs=B0123456789|Receive a bid recommendation for this target product\n|asinCategorySameAs=12345|Receive a bid recommendation for this target category\n|similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins.\n\n\nAudience targeting clause|Description|\n|-----------|----|\n|views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category\n|views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins\n|views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins\n|purchases(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has purchased products in the given category\n|purchases(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased the advertised asins\n|purchases(relatedProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased products related to the advertised asins\n|audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience\n\n\n#### Notes:\n- Refinements are currently not supported and if included will not impact the bid recommendation for the target.\n\n\n#### Advertised ASIN Notes:\n- For asinSameAs targets the advertised asins will not impact the bid recommendation\n- For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation\n- For similarProduct, exactProduct, and relatedProduct targets the advertised asins are required",
"parameters": [
{
"$ref": "#/components/parameters/clientHeader"
@@ -7028,7 +7028,7 @@
"schemas": {
"TacticReport": {
"type": "string",
- "description": "The advertising tactic associated with the campaign. The following table lists available tactic names:\n|Tactic Name|Type|Description|\n|-----------|-----|-----------|\n|T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE only.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO. |",
+ "description": "The advertising tactic associated with the campaign. The following table lists available tactic names:\n|Tactic Name|Type|Description|\n|-----------|-----|-----------|\n|T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE and VIDEO.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO. |",
"example": "T00020",
"enum": [
"T00020",
@@ -7045,7 +7045,7 @@
},
"Tactic": {
"type": "string",
- "description": "The advertising tactic associated with the campaign. The following table lists available tactic names:\n|Tactic Name|Type|Description|\n|-----------|-----|-----------|\n|T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE only.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO.|",
+ "description": "The advertising tactic associated with the campaign. The following table lists available tactic names:\n|Tactic Name|Type|Description|\n|-----------|-----|-----------|\n|T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE and VIDEO.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO.|",
"example": "T00020",
"enum": [
"T00020",
@@ -7055,7 +7055,7 @@
"CreativeType": {
"type": "string",
"nullable": true,
- "description": "The type of the associated creative. If the field is empty or null, a default value of IMAGE will be used. One ad group only supports one type (VIDEO or IMAGE) of creativeType at a time.\n|Name|Tactic|Description|\n|----|------|-----------|\n|IMAGE |T00020, T00030 |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |T00030 |The creative will display video assets. This type of creative must have video assets provided. Audiences (T00030) is currently only available today, contextual (T00020) will be coming soon.|",
+ "description": "The type of the associated creative. If the field is empty or null, a default value of IMAGE will be used. One ad group only supports one type (VIDEO or IMAGE) of creativeType at a time.\n|Name|Tactic|Description|\n|----|------|-----------|\n|IMAGE |T00020, T00030 |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |T00020, T00030 |The creative will display video assets. This type of creative must have a video asset provided.|",
"example": null,
"enum": [
"IMAGE",
@@ -8248,7 +8248,7 @@
}
},
"TargetingRecommendationsResponse": {
- "description": "Response to a request for targeting recommendations",
+ "description": "Response to a request for targeting recommendations.",
"properties": {
"recommendations": {
"$ref": "#/components/schemas/TargetingRecommendations"
@@ -10007,7 +10007,7 @@
},
"SDTargetingPredicateV31": {
"type": "object",
- "description": "A predicate to match against in the Targeting Expression (only applicable to contextual targeting - T00020).\n\n* All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system.\n* Brand, price, and review predicates are optional and may only be specified if category is also specified.\n* Review predicates accept numbers between 0 and 5 and are inclusive.\n* When using either of the ‘between’ strings to construct a targeting expression the format of the string is ‘double-double’ where the first double must be smaller than the second double. Prices are not inclusive.",
+ "description": "A predicate to match against in the Targeting Expression (only applicable to contextual targeting - T00020).\n\n* All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system.\n* Brand, price, and review predicates are optional and may only be specified if category is also specified.\n* Review predicates accept numbers between 0 and 5 and are inclusive.\n* When using either of the 'between' strings to construct a targeting expression the format of the string is 'double-double' where the first double must be smaller than the second double. Prices are not inclusive.",
"required": [
"type"
],
@@ -10062,7 +10062,7 @@
},
"SDTargetingPredicateBaseV31": {
"type": "object",
- "description": "A predicate to match against inside the TargetingPredicateNested component (only applicable to audience targeting - T00030).\n\n* All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system.\n* Brand, price, and review predicates are optional and may only be specified if category is also specified.\n* Review predicates accept numbers between 0 and 5 and are inclusive.\n* When using either of the ‘between’ strings to construct a targeting expression the format of the string is ‘double-double’ where the first double must be smaller than the second double. Prices are not inclusive.\n* The exactProduct, similarProduct, and negative types do not utilize the value field.\n* The only type currently applicable to Amazon Audiences targeting is 'audienceSameAs'.\n* **Future** A 'negative' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.",
+ "description": "A predicate to match against inside the TargetingPredicateNested component (only applicable to audience targeting - T00030).\n\n* All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system.\n* Brand, price, and review predicates are optional and may only be specified if category is also specified.\n* Review predicates accept numbers between 0 and 5 and are inclusive.\n* When using either of the 'between' strings to construct a targeting expression the format of the string is 'double-double' where the first double must be smaller than the second double. Prices are not inclusive.\n* The exactProduct, similarProduct, relatedProduct, and negative types do not utilize the value field.\n* The only type currently applicable to Amazon Audiences targeting is 'audienceSameAs'.\n* **Future** A 'negative' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.",
"required": [
"type"
],
@@ -10079,6 +10079,7 @@
"asinReviewRatingGreaterThan",
"asinReviewRatingBetween",
"similarProduct",
+ "relatedProduct",
"exactProduct",
"asinIsPrimeShippingEligible",
"asinAgeRangeSameAs",
diff --git a/docs/schemas/sponsored-products-extra.json b/docs/schemas/sponsored-products-extra.json
index 9773c26..0e2e66f 100644
--- a/docs/schemas/sponsored-products-extra.json
+++ b/docs/schemas/sponsored-products-extra.json
@@ -123,10 +123,6 @@
"/sp/targets/keywords/recommendations": {
"post": {
"summary": "Get keyword recommendations",
- "description": "The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint.
Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also have added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "tags": [
- "Keyword Recommendations"
- ],
"requestBody": {
"content": {
"application/vnd.spkeywordsrecommendation.v3+json": {
@@ -141,8 +137,8 @@
],
"discriminator": {
"mapping": {
- "KEYWORDS_FOR_ADGROUP": "#/components/schemas/AdGroupKeywordTargetRankRecommendationRequest",
- "KEYWORDS_FOR_ASINS": "#/components/schemas/AsinsKeywordTargetRankRecommendationRequest"
+ "KEYWORD_FOR_ADGROUP": "#/components/schemas/AdGroupKeywordTargetRankRecommendationRequest",
+ "KEYWORD_FOR_ASINS": "#/components/schemas/AsinsKeywordTargetRankRecommendationRequest"
},
"propertyName": "recommendationType"
}
@@ -152,16 +148,18 @@
"schema": {
"oneOf": [
{
- "$ref": "#/components/schemas/RankedKeywordTargetsForAdGroupRequest"
+ "$ref": "#/components/schemas/RankedKeywordTargetsForAsinsRequest"
},
{
- "$ref": "#/components/schemas/RankedKeywordTargetsForAsinsRequest"
+ "$ref": "#/components/schemas/RankedKeywordTargetsForAdGroupRequest"
}
],
"discriminator": {
- "KEYWORDS_FOR_ADGROUP": "#/components/schemas/RankedKeywordTargetsForAdGroupRequest",
- "propertyName": "recommendationType",
- "KEYWORDS_FOR_ASINS": "#/components/schemas/RankedKeywordTargetsForAsinsRequest"
+ "mapping": {
+ "KEYWORD_FOR_ADGROUP": "#/components/schemas/RankedKeywordTargetsForAdGroupRequest",
+ "KEYWORD_FOR_ASINS": "#/components/schemas/RankedKeywordTargetsForAsinsRequest"
+ },
+ "propertyName": "recommendationType"
}
}
},
@@ -177,8 +175,8 @@
],
"discriminator": {
"mapping": {
- "KEYWORDS_FOR_ADGROUP": "#/components/schemas/AdGroupKeywordTargetRankRecommendationRequest",
- "KEYWORDS_FOR_ASINS": "#/components/schemas/AsinsKeywordTargetRankRecommendationRequest"
+ "KEYWORD_FOR_ADGROUP": "#/components/schemas/AdGroupKeywordTargetRankRecommendationRequest",
+ "KEYWORD_FOR_ASINS": "#/components/schemas/AsinsKeywordTargetRankRecommendationRequest"
},
"propertyName": "recommendationType"
}
@@ -187,17 +185,14 @@
}
},
"operationId": "getRankedKeywordRecommendation",
+ "description": "The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"responses": {
"200": {
"description": "success",
"content": {
"application/vnd.spkeywordsrecommendation.v3+json": {
"schema": {
- "description": "A list of ranked keyword targets",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/KeywordTargetResponse"
- }
+ "$ref": "#/components/schemas/KeywordTargetResponse"
}
},
"application/vnd.spkeywordsrecommendation.v5+json": {
@@ -220,6 +215,11 @@
"$ref": "#/components/schemas/SPTargetingError"
}
},
+ "application/vnd.spkeywordsrecommendation.v5+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SPTargetingError"
+ }
+ },
"application/vnd.spkeywordsrecommendation.v4+json": {
"schema": {
"$ref": "#/components/schemas/SPTargetingError"
@@ -228,13 +228,18 @@
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.",
+ "description": "Unauthorized - Request failed because user is not authenticated or\nis not allowed to invoke the operation.",
"content": {
"application/vnd.spkeywordsrecommendation.v3+json": {
"schema": {
"$ref": "#/components/schemas/SPTargetingError"
}
},
+ "application/vnd.spkeywordsrecommendation.v5+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SPTargetingError"
+ }
+ },
"application/vnd.spkeywordsrecommendation.v4+json": {
"schema": {
"$ref": "#/components/schemas/SPTargetingError"
@@ -250,6 +255,11 @@
"$ref": "#/components/schemas/SPTargetingError"
}
},
+ "application/vnd.spkeywordsrecommendation.v5+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SPTargetingError"
+ }
+ },
"application/vnd.spkeywordsrecommendation.v4+json": {
"schema": {
"$ref": "#/components/schemas/SPTargetingError"
@@ -265,6 +275,11 @@
"$ref": "#/components/schemas/SPTargetingError"
}
},
+ "application/vnd.spkeywordsrecommendation.v5+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SPTargetingError"
+ }
+ },
"application/vnd.spkeywordsrecommendation.v4+json": {
"schema": {
"$ref": "#/components/schemas/SPTargetingError"
@@ -273,7 +288,7 @@
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
"content": {
"application/vnd.spkeywordsrecommendation.v3+json": {
"schema": {
@@ -295,7 +310,7 @@
},
"in": "header",
"name": "Amazon-Advertising-API-MarketplaceId",
- "description": "The advertiser's Marketplace ID associated with the advertiser account."
+ "description": "The advertiser's Marketplace ID associated with the advertiser.\naccount."
},
{
"schema": {
@@ -323,6 +338,9 @@
"description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
}
+ ],
+ "tags": [
+ "Keyword Targets"
]
}
},
@@ -448,36 +466,36 @@
]
}
},
- "/sp/negativeKeywords/delete": {
+ "/sp/campaignNegativeKeywords/delete": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeKeywordsRequestContent"
}
}
},
"required": true
},
- "operationId": "DeleteSponsoredProductsNegativeKeywords",
+ "operationId": "DeleteSponsoredProductsCampaignNegativeKeywords",
"responses": {
"207": {
- "description": "DeleteSponsoredProductsNegativeKeywords 207 response",
+ "description": "DeleteSponsoredProductsCampaignNegativeKeywords 207 response",
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "NegativeKeywordMutationException 400 response",
+ "description": "CampaignNegativeKeywordMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordMutationExceptionResponseContent"
}
}
}
@@ -567,297 +585,345 @@
}
],
"tags": [
- "NegativeKeywords"
+ "CampaignNegativeKeywords"
]
}
},
- "/sp/targets/products/count": {
+ "/sp/negativeKeywords/delete": {
"post": {
- "summary": "Get number of targetable asins based on refinements provided by the user.",
"requestBody": {
"content": {
- "application/vnd.spproducttargeting.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetTargetableAsinCountsRequest"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeKeywordsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "getTargetableASINCounts",
- "description": "Get number of targetable asins based on refinements provided by the user. Please use the GetTargetableCategories API or the GetCategoryRecommendationsForASINs API to retrieve the category ID. Please use the GetRefinementsByCategory API to retrieve refinements data for a category.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "operationId": "DeleteSponsoredProductsNegativeKeywords",
"responses": {
- "200": {
- "description": "success",
+ "207": {
+ "description": "DeleteSponsoredProductsNegativeKeywords 207 response",
"content": {
- "application/vnd.spproducttargetingresponse.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/TargetableAsinCounts"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request - The input fails to satisfy the constraints of the API.",
+ "description": "NegativeKeywordMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BadRequestException"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity - Failed due to invalid parameters.",
+ "403": {
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnprocessableEntityException"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
- "required": false
}
],
"tags": [
- "Product Targeting"
+ "NegativeKeywords"
]
}
},
- "/sp/targets/categories": {
- "get": {
- "summary": "Returns all targetable categories.",
- "operationId": "getTargetableCategories",
- "description": "Returns all targetable categories. This API returns a large JSON string containing a tree of category nodes. Each category node has the fields - category id, category name, and child categories.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "/sp/campaignNegativeKeywords/list": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeKeywordsRequestContent"
+ }
+ }
+ }
+ },
+ "operationId": "ListSponsoredProductsCampaignNegativeKeywords",
"responses": {
"200": {
- "description": "success",
+ "description": "ListSponsoredProductsCampaignNegativeKeywords 200 response",
"content": {
- "application/vnd.spproducttargetingresponse.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/TargetableCategories"
- }
- },
- "application/vnd.spproducttargetingresponse.v4+json": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/TargetableCategories"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request",
+ "description": "CampaignNegativeKeywordAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BadRequestException"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordAccessExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "AccessDeniedException 403 response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
- "required": false
}
],
"tags": [
- "Product Targeting"
+ "CampaignNegativeKeywords"
]
}
},
- "/sp/rules/campaignOptimization": {
+ "/sp/campaigns/delete": {
"post": {
- "summary": "Creates a campaign optimization rule.",
"requestBody": {
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/CreateSPCampaignOptimizationRulesRequest"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignsRequestContent"
}
}
},
"required": true
},
- "operationId": "CreateOptimizationRule",
+ "operationId": "DeleteSponsoredProductsCampaigns",
"responses": {
- "200": {
- "description": "Successful Operation.",
+ "207": {
+ "description": "DeleteSponsoredProductsCampaigns 207 response",
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/CreateSPCampaignOptimizationRulesResponse"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "CampaignMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
@@ -867,113 +933,106 @@
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "Campaign Optimization Rules"
+ "Campaigns"
]
- },
- "put": {
- "summary": "Updates a campaign optimization rule.",
+ }
+ },
+ "/sp/targets/products/count": {
+ "post": {
+ "summary": "Get number of targetable asins based on refinements provided by the user.",
"requestBody": {
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spproducttargeting.v3+json": {
"schema": {
- "$ref": "#/components/schemas/UpdateSPCampaignOptimizationRulesRequest"
+ "$ref": "#/components/schemas/GetTargetableAsinCountsRequest"
}
}
- },
- "required": true
+ }
},
- "operationId": "UpdateOptimizationRule",
+ "operationId": "getTargetableASINCounts",
+ "description": "Get number of targetable asins based on refinements provided by the user. Please use the GetTargetableCategories API or the GetCategoryRecommendationsForASINs API to retrieve the category ID. Please use the GetRefinementsByCategory API to retrieve refinements data for a category.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"responses": {
"200": {
- "description": "Successfully updated",
+ "description": "success",
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spproducttargetingresponse.v3+json": {
"schema": {
- "$ref": "#/components/schemas/UpdateSPCampaignOptimizationRuleResponse"
+ "$ref": "#/components/schemas/TargetableAsinCounts"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "Bad Request - The input fails to satisfy the constraints of the API.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BadRequestException"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "Unauthorized - Request failed because user is not authenticated.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/UnauthorizedException"
}
}
}
},
"422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "description": "Unprocessable entity - Failed due to invalid parameters.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/UnprocessableEntityException"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "Internal Server Error. ",
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -992,150 +1051,257 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
+ "required": false
}
],
"tags": [
- "Campaign Optimization Rules"
+ "Product Targeting"
]
}
},
- "/sp/campaigns/{campaignId}/budgetRules": {
+ "/sp/campaigns/list": {
"post": {
- "summary": "Associates one or more budget rules to a campaign specified by identifer.",
"requestBody": {
"content": {
- "application/json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/CreateAssociatedBudgetRulesRequest"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignsRequestContent"
}
}
- },
- "required": true
+ }
},
- "description": "A maximum of 250 rules can be associated to a campaign. Note that the name of each rule associated to a campaign is required to be unique.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
- "operationId": "CreateAssociatedBudgetRulesForSPCampaigns",
+ "operationId": "ListSponsoredProductsCampaigns",
"responses": {
- "207": {
- "description": "Multi-status. An object containing a list of associated budget rule response objects reflecting the same order as the input.",
+ "200": {
+ "description": "ListSponsoredProductsCampaigns 200 response",
"content": {
- "application/json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/CreateAssociatedBudgetRulesResponse"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "CampaignAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignAccessExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a Login with Amazon account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "required": true
+ }
+ ],
+ "tags": [
+ "Campaigns"
+ ]
+ }
+ },
+ "/sp/targets/categories": {
+ "get": {
+ "summary": "Returns all targetable categories.",
+ "operationId": "getTargetableCategories",
+ "description": "Returns all targetable categories. This API returns a large JSON string containing a tree of category nodes. Each category node has the fields - category id, category name, and child categories.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/vnd.spproducttargetingresponse.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/TargetableCategories"
+ }
+ },
+ "application/vnd.spproducttargetingresponse.v4+json": {
+ "schema": {
+ "$ref": "#/components/schemas/TargetableCategories"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BadRequestException"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized - Request failed because user is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedException"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ThrottlingException"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InternalServerException"
+ }
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Amazon-Advertising-API-ClientId",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "format": "int64",
- "type": "number"
+ "type": "string"
},
- "in": "path",
- "name": "campaignId",
- "description": "The campaign identifier.",
+ "in": "header",
+ "name": "Amazon-Advertising-API-Scope",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
+ "required": false
}
],
"tags": [
- "BudgetRules"
+ "Product Targeting"
]
- },
+ }
+ },
+ "/sp/budgetRules/{budgetRuleId}/campaigns": {
"get": {
- "summary": "Gets a list of budget rules associated to a campaign specified by identifier.",
- "operationId": "ListAssociatedBudgetRulesForSPCampaigns",
+ "summary": "Gets all the campaigns associated with a budget rule",
+ "operationId": "GetCampaignsAssociatedWithSPBudgetRule",
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SPListAssociatedBudgetRulesResponse"
+ "$ref": "#/components/schemas/SPGetAssociatedCampaignsResponse"
}
}
}
},
"400": {
- "description": "Bad Request",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
@@ -1195,7 +1361,6 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
@@ -1217,12 +1382,28 @@
},
{
"schema": {
- "format": "int64",
- "type": "number"
+ "type": "string"
},
"in": "path",
- "name": "campaignId",
- "description": "The campaign identifier.",
+ "name": "budgetRuleId",
+ "description": "The budget rule identifier.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "query",
+ "name": "nextToken",
+ "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
+ },
+ {
+ "schema": {
+ "type": "number"
+ },
+ "in": "query",
+ "name": "pageSize",
+ "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
"required": true
}
],
@@ -1231,67 +1412,88 @@
]
}
},
- "/sp/negativeTargets/brands/search": {
+ "/sp/campaigns/{campaignId}/budgetRules": {
"post": {
- "summary": "Returns brands related to keyword input for negative targeting.",
+ "summary": "Associates one or more budget rules to a campaign specified by identifer.",
"requestBody": {
"content": {
- "application/vnd.spproducttargeting.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SearchBrandsRequest"
+ "$ref": "#/components/schemas/CreateAssociatedBudgetRulesRequest"
}
}
- }
+ },
+ "required": true
},
- "operationId": "searchBrands",
- "description": "Returns up to 100 brands related to keyword input for negative targeting.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "A maximum of 250 rules can be associated to a campaign. Note that the name of each rule associated to a campaign is required to be unique.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
+ "operationId": "CreateAssociatedBudgetRulesForSPCampaigns",
"responses": {
- "200": {
- "description": "success",
+ "207": {
+ "description": "Multi-status. An object containing a list of associated budget rule response objects reflecting the same order as the input.",
"content": {
- "application/vnd.spproducttargetingresponse.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/Brands"
+ "$ref": "#/components/schemas/CreateAssociatedBudgetRulesResponse"
}
}
}
},
"400": {
- "description": "Bad Request - The input fails to satisfy the constraints of the API.",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BadRequestException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
+ "$ref": "#/components/schemas/BudgetRuleError"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BudgetRuleError"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
@@ -1304,7 +1506,7 @@
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a Login with Amazon account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
@@ -1318,31 +1520,29 @@
},
{
"schema": {
- "type": "string"
+ "format": "int64",
+ "type": "number"
},
- "in": "header",
- "name": "Prefer",
- "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
- "required": false
+ "in": "path",
+ "name": "campaignId",
+ "description": "The campaign identifier.",
+ "required": true
}
],
"tags": [
- "Product Targeting"
+ "BudgetRules"
]
- }
- },
- "/sp/targets/category/{categoryId}/refinements": {
+ },
"get": {
- "summary": "Returns refinements according to category input.",
- "operationId": "getRefinementsForCategory",
- "description": "Returns refinements according to category input.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "summary": "Gets a list of budget rules associated to a campaign specified by identifier.",
+ "operationId": "ListAssociatedBudgetRulesForSPCampaigns",
"responses": {
"200": {
- "description": "success",
+ "description": "Successful operation.",
"content": {
- "application/vnd.spproducttargetingresponse.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/Refinements"
+ "$ref": "#/components/schemas/SPListAssociatedBudgetRulesResponse"
}
}
}
@@ -1352,52 +1552,63 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BadRequestException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
+ "$ref": "#/components/schemas/BudgetRuleError"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"422": {
- "description": "Unprocessable entity - Failed due to invalid parameters.",
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnprocessableEntityException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
@@ -1419,73 +1630,51 @@
},
{
"schema": {
- "type": "string"
+ "format": "int64",
+ "type": "number"
},
"in": "path",
- "name": "categoryId",
- "description": "The category ID. Please use the GetTargetableCategories API or the GetCategoriesForASINs API to retrieve categories IDs. This API does not check if the category is a valid category.",
+ "name": "campaignId",
+ "description": "The campaign identifier.",
"required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
- "required": false
}
],
"tags": [
- "Product Targeting"
+ "BudgetRules"
]
}
},
- "/sp/rules/campaignOptimization/state": {
- "post": {
- "summary": "Gets campaign optimization rule state. Recommended refresh frequency is once a day.",
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "tags": [
- "Campaign Optimization Rules"
- ],
- "requestBody": {
- "content": {
- "application/vnd.optimizationrules.v1+json": {
- "schema": {
- "$ref": "#/components/schemas/SPCampaignOptimizationNotificationAPIRequest"
- }
- }
- },
- "required": true
- },
- "operationId": "GetRuleNotification",
+ "/sp/campaigns/{campaignId}/budgetRules/{budgetRuleId}": {
+ "delete": {
+ "summary": "Disassociates a budget rule specified by identifier from a campaign specified by identifier.",
+ "operationId": "DisassociateAssociatedBudgetRuleForSPCampaigns",
"responses": {
"200": {
- "description": "Successful Operation.",
+ "description": "Successful operation.",
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SPCampaignOptimizationNotificationAPIResponse"
+ "$ref": "#/components/schemas/DisassociateAssociatedBudgetRuleResponse"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "Bad Request",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "Unauthorized. The request failed because user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
@@ -1495,7 +1684,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
@@ -1505,7 +1694,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
@@ -1515,22 +1704,23 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "Internal Server Error.",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -1549,39 +1739,71 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
+ },
+ {
+ "schema": {
+ "format": "int64",
+ "type": "number"
+ },
+ "in": "path",
+ "name": "campaignId",
+ "description": "The campaign identifier.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "path",
+ "name": "budgetRuleId",
+ "description": "The budget rule identifier.",
+ "required": true
}
+ ],
+ "tags": [
+ "BudgetRules"
]
}
},
- "/sp/productAds/list": {
+ "/sp/adGroups": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spProductAd.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsProductAdsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsAdGroupsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsProductAds",
+ "operationId": "CreateSponsoredProductsAdGroups",
"responses": {
- "200": {
- "description": "ListSponsoredProductsProductAds 200 response",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsAdGroups 207 response",
"content": {
- "application/vnd.spProductAd.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsProductAdsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsAdGroupsResponseContent"
}
}
}
},
"400": {
- "description": "ProductAdAccessException 400 response",
+ "description": "AdGroupMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsProductAdAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsAdGroupMutationExceptionResponseContent"
}
}
}
@@ -1647,7 +1869,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -1668,42 +1890,59 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "ProductAds"
+ "AdGroups"
]
- }
- },
- "/sp/negativeTargets/list": {
- "post": {
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsAdGroupsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsNegativeTargetingClauses",
+ "operationId": "UpdateSponsoredProductsAdGroups",
"responses": {
- "200": {
- "description": "ListSponsoredProductsNegativeTargetingClauses 200 response",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsAdGroups 207 response",
"content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsAdGroupsResponseContent"
}
}
}
},
"400": {
- "description": "NegativeTargetAccessException 400 response",
+ "description": "AdGroupMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeTargetAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsAdGroupMutationExceptionResponseContent"
}
}
}
@@ -1769,7 +2008,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -1790,380 +2029,293 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "NegativeTargetingClauses"
+ "AdGroups"
]
}
},
- "/sp/productAds": {
+ "/sp/targets/products/recommendations": {
"post": {
+ "summary": "Suggested target ASINs for your advertised product",
"requestBody": {
"content": {
- "application/vnd.spProductAd.v3+json": {
+ "application/vnd.spproductrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsProductAdsRequestContent"
+ "$ref": "#/components/schemas/GetProductRecommendationsRequest"
}
}
- },
- "required": true
+ }
},
- "operationId": "CreateSponsoredProductsProductAds",
+ "operationId": "getProductRecommendations",
+ "description": "Given an advertised ASIN as input, this API returns suggested ASINs to target in a product targeting campaign. We use various methods to generate these suggestions. These include using historical performance of your ad, items that shoppers they frequently view and purchase together, etc. The suggested targets can be retrieved either as a single list, or grouped by ‘theme' – i.e. an accompanying context for why we recommend the items. You can pick the desired format using the Accepts header, please see the response mediaTypes for more information. \nPagination Behavior
The API supports cursor based pagination using encoded cursor values to return next set of records or previously served records. The count parameter in the request body will be used to determine the size of results when requesting the previous page or next page. If no value for count is passed in the request, a default value is assumed. Please refer the range and defaults for these values in the request schema under GetProductRecommendationsRequest. Note: The clients should never cache pagination cursor values locally as these values will expire after a certain time period. However a cursor value can be reused to perform retries in case of failures as long as the value has not expired.\n Themes
Themes provide additional context for why we are recommending a product as a target. See below for an overall list of themes currently available – - Top converting targets – These ASINs generated conversions for the input ASIN in the past 30 days (e.g. your product appeared as an ad on the detail page of these items, and a shopper clicked and purchased your item). The suggested ASINs under this theme are sorted in decreasing order of sales generated for your promoted item. - Similar items (frequently viewed together) – Items that shoppers frequently view and click along with your advertised item during a shopping session.\n- Complements – Items that are frequently purchased together as complements. For example, if you are promoting a tennis racquet, you may see tennis balls recommended under this theme.\n- Similar items with low ratings and reviews – Subset of the ‘similar items’ theme containing items that are rated lower than 3 stars and/or with fewer than 5 reviews.\n- Other books read by your readers – Items that shoppers frequently view and click along with your advertised item during a shopping session. Note: Availability of themes differs by input ASIN - some ASINs may not have all above themes available\n",
"responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsProductAds 207 response",
- "content": {
- "application/vnd.spProductAd.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsProductAdsResponseContent"
- }
- }
- }
- },
- "400": {
- "description": "ProductAdMutationException 400 response",
+ "200": {
+ "description": "success",
"content": {
- "application/json": {
+ "application/vnd.spproductrecommendationresponse.themes.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsProductAdMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/ProductRecommendationsByTheme"
}
- }
- }
- },
- "401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
+ },
+ "application/vnd.spproductrecommendationresponse.asins.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/ProductRecommendationsByASIN"
}
}
}
},
- "403": {
- "description": "AccessDeniedException 403 response",
+ "400": {
+ "description": "Bad Request",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BadRequestException"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity - Failed due to invalid parameters.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/UnprocessableEntityException"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error - Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
+ "name": "Amazon-Advertising-API-AdvertiserId",
+ "description": "The Advertiser ID associated with the advertiser account."
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "name": "Amazon-Advertising-API-ClientId",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
"in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
+ "name": "Amazon-Advertising-API-Scope",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "required": true
}
],
"tags": [
- "ProductAds"
+ "Product Recommendation Service"
]
- },
- "put": {
+ }
+ },
+ "/sp/negativeTargets/brands/search": {
+ "post": {
+ "summary": "Returns brands related to keyword input for negative targeting.",
"requestBody": {
"content": {
- "application/vnd.spProductAd.v3+json": {
+ "application/vnd.spproducttargeting.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsProductAdsRequestContent"
+ "$ref": "#/components/schemas/SearchBrandsRequest"
}
}
- },
- "required": true
+ }
},
- "operationId": "UpdateSponsoredProductsProductAds",
+ "operationId": "searchBrands",
+ "description": "Returns up to 100 brands related to keyword input for negative targeting.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsProductAds 207 response",
+ "200": {
+ "description": "success",
"content": {
- "application/vnd.spProductAd.v3+json": {
+ "application/vnd.spproducttargetingresponse.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsProductAdsResponseContent"
+ "$ref": "#/components/schemas/Brands"
}
}
}
},
"400": {
- "description": "ProductAdMutationException 400 response",
+ "description": "Bad Request - The input fails to satisfy the constraints of the API.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsProductAdMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BadRequestException"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
- }
- }
- }
- },
- "403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "description": "Unauthorized - Request failed because user is not authenticated.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/UnauthorizedException"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
"in": "header",
"name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
+ "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
+ "required": false
}
],
"tags": [
- "ProductAds"
+ "Product Targeting"
]
}
},
- "/sp/budgetRules": {
- "post": {
- "summary": "Creates one or more budget rules.",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateSPBudgetRulesRequest"
- }
- }
- },
- "required": true
- },
- "operationId": "CreateBudgetRulesForSPCampaigns",
- "responses": {
- "207": {
- "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.",
+ "/sp/targets/category/{categoryId}/refinements": {
+ "get": {
+ "summary": "Returns refinements according to category input.",
+ "operationId": "getRefinementsForCategory",
+ "description": "Returns refinements according to category input.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "responses": {
+ "200": {
+ "description": "success",
"content": {
- "application/json": {
+ "application/vnd.spproducttargetingresponse.v3+json": {
"schema": {
- "$ref": "#/components/schemas/CreateBudgetRulesResponse"
+ "$ref": "#/components/schemas/Refinements"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "Bad Request",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/BadRequestException"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "Unauthorized - Request failed because user is not authenticated.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/UnauthorizedException"
}
}
}
},
"422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "description": "Unprocessable entity - Failed due to invalid parameters.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/UnprocessableEntityException"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -2182,208 +2334,243 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "path",
+ "name": "categoryId",
+ "description": "The category ID. Please use the GetTargetableCategories API or the GetCategoriesForASINs API to retrieve categories IDs. This API does not check if the category is a valid category.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
+ "required": false
}
],
"tags": [
- "BudgetRules"
+ "Product Targeting"
]
- },
- "get": {
- "summary": "Get all budget rules created by an advertiser",
- "operationId": "GetSPBudgetRulesForAdvertiser",
+ }
+ },
+ "/sp/productAds/list": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spProductAd.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsProductAdsRequestContent"
+ }
+ }
+ }
+ },
+ "operationId": "ListSponsoredProductsProductAds",
"responses": {
"200": {
- "description": "Successful operation.",
+ "description": "ListSponsoredProductsProductAds 200 response",
"content": {
- "application/json": {
+ "application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetSPBudgetRulesForAdvertiserResponse"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsProductAdsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "ProductAdAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsProductAdAccessExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "query",
- "name": "nextToken",
- "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
- },
- {
- "schema": {
- "type": "number"
- },
- "in": "query",
- "name": "pageSize",
- "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "BudgetRules"
+ "ProductAds"
]
- },
- "put": {
- "summary": "Updates one or more budget rules.",
+ }
+ },
+ "/sp/negativeTargets/delete": {
+ "post": {
"requestBody": {
"content": {
- "application/json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/UpdateSPBudgetRulesRequest"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeTargetingClausesRequestContent"
}
}
},
"required": true
},
- "operationId": "UpdateBudgetRulesForSPCampaigns",
+ "operationId": "DeleteSponsoredProductsNegativeTargetingClauses",
"responses": {
"207": {
- "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.",
+ "description": "DeleteSponsoredProductsNegativeTargetingClauses 207 response",
"content": {
- "application/json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/UpdateBudgetRulesResponse"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "NegativeTargetMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeTargetMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
@@ -2393,400 +2580,451 @@
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "BudgetRules"
+ "NegativeTargetingClauses"
]
}
},
- "/sp/targets/categories/recommendations": {
+ "/sp/negativeTargets/list": {
"post": {
- "summary": "Returns a list of category recommendations for the input list of ASINs.",
"requestBody": {
"content": {
- "application/vnd.spproducttargeting.v3+json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetCategoryRecommendationsForAsinsRequest"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeTargetingClausesRequestContent"
}
}
}
},
- "operationId": "getCategoryRecommendationsForASINs",
- "description": "Returns a list of category recommendations for the input list of ASINs. Use this API to discover relevant categories to target. To find ASINs, either use the Product Metadata API or browse the Amazon Retail Website.
- Response can be requested in different versions with the help of accept header. Please review the response mediaTypes for more information.
\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "operationId": "ListSponsoredProductsNegativeTargetingClauses",
"responses": {
"200": {
- "description": "success",
+ "description": "ListSponsoredProductsNegativeTargetingClauses 200 response",
"content": {
- "application/vnd.spproducttargetingresponse.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/CategoryRecommendations"
- }
- },
- "application/vnd.spproducttargetingresponse.v4+json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/CategoryRecommendationsWithAsinCounts"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request",
+ "description": "NegativeTargetAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BadRequestException"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeTargetAccessExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity - Failed due to invalid parameters.",
+ "403": {
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnprocessableEntityException"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
- "500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
+ "429": {
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "InternalServerException 500 response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
- "required": false
}
],
"tags": [
- "Product Targeting"
+ "NegativeTargetingClauses"
]
}
},
- "/sp/campaigns/initialBudgetRecommendation": {
+ "/sp/keywords/delete": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/vnd.spKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/InitialBudgetRecommendationRequest"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsKeywordsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "description": "Creates daily budget recommendation along with benchmark metrics when creating a new campaign.",
- "operationId": "getBudgetRecommendation",
+ "operationId": "DeleteSponsoredProductsKeywords",
"responses": {
- "200": {
- "description": "200 response.",
+ "207": {
+ "description": "DeleteSponsoredProductsKeywords 207 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/vnd.spKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/InitialBudgetRecommendationResponse"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "400 response.",
+ "description": "KeywordMutationException 400 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
+ "$ref": "#/components/schemas/SponsoredProductsKeywordMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "401 response.",
+ "description": "UnauthorizedException 401 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "403 response.",
+ "description": "AccessDeniedException 403 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
"415": {
- "description": "415 response.",
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "429 response.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "500 response.",
+ "description": "InternalServerException 500 response",
"content": {
- "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
- "explode": false,
"name": "Amazon-Advertising-API-ClientId",
"description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "style": "simple",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
- "explode": false,
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
- "style": "simple",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "Budget Recommendation New Campaigns"
+ "Keywords"
]
}
},
- "/sp/campaignNegativeTargets/delete": {
- "post": {
- "requestBody": {
- "content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "DeleteSponsoredProductsCampaignNegativeTargetingClauses",
+ "/sp/campaigns/{campaignId}/budgetRules/budgetHistory": {
+ "get": {
+ "summary": "Gets the budget history for a campaign specified by identifier.",
+ "description": "The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "operationId": "getRuleBasedBudgetHistoryForSPCampaigns",
"responses": {
- "207": {
- "description": "DeleteSponsoredProductsCampaignNegativeTargetingClauses 207 response",
+ "200": {
+ "description": "Successful operation.",
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/SPBudgetHistory"
}
}
}
},
"400": {
- "description": "CampaignNegativeTargetsMutationException 400 response",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized. The request failed because user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a Login with Amazon account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "required": true
+ },
+ {
+ "schema": {
+ "format": "int64",
+ "type": "number"
+ },
+ "in": "path",
+ "name": "campaignId",
+ "description": "The campaign identifier.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "query",
+ "name": "nextToken",
+ "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
+ },
+ {
+ "schema": {
+ "type": "number"
+ },
+ "in": "query",
+ "name": "pageSize",
+ "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "query",
+ "name": "startDate",
+ "description": "The start date of the budget history in YYYYMMDD format.",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "query",
+ "name": "endDate",
+ "description": "The end date of the budget history in YYYYMMDD format.",
"required": true
}
],
"tags": [
- "CampaignNegativeTargetingClauses"
+ "BudgetRules"
]
}
},
- "/sp/productAds/delete": {
+ "/sp/productAds": {
"post": {
"requestBody": {
"content": {
"application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsProductAdsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsProductAdsRequestContent"
}
}
},
"required": true
},
- "operationId": "DeleteSponsoredProductsProductAds",
+ "operationId": "CreateSponsoredProductsProductAds",
"responses": {
"207": {
- "description": "DeleteSponsoredProductsProductAds 207 response",
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsProductAds 207 response",
"content": {
"application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsProductAdsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsProductAdsResponseContent"
}
}
}
@@ -2863,780 +3101,6 @@
}
},
"description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
- "parameters": [
- {
- "schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "required": true
- }
- ],
- "tags": [
- "ProductAds"
- ]
- }
- },
- "/sp/negativeTargets/brands/recommendations": {
- "get": {
- "summary": "Returns brands recommended for negative targeting.",
- "operationId": "getNegativeBrands",
- "description": "Returns brands recommended for negative targeting. Only available for Sellers and Vendors. These recommendations include your own brands because targeting your own brands usually results in lower performance than targeting competitors' brands.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "responses": {
- "200": {
- "description": "success",
- "content": {
- "application/vnd.spproducttargetingresponse.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/Brands"
- }
- }
- }
- },
- "400": {
- "description": "Bad Request - The input fails to satisfy the constraints of the API.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BadRequestException"
- }
- }
- }
- },
- "401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
- }
- }
- }
- },
- "403": {
- "description": "Access Denied - Request failed because the user is not allowed to invoke the operation.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AccessDeniedException"
- }
- }
- }
- },
- "429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ThrottlingException"
- }
- }
- }
- },
- "500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/InternalServerException"
- }
- }
- }
- }
- },
- "parameters": [
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
- "required": false
- }
- ],
- "tags": [
- "Product Targeting"
- ]
- }
- },
- "/sp/campaigns/budgetRecommendations": {
- "post": {
- "summary": "Get recommended daily budget and estimated missed opportunities for campaigns.",
- "requestBody": {
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/BudgetRecommendationRequest"
- }
- }
- },
- "required": true
- },
- "description": "Given a list of campaigns as input, this API provides the following metrics -
1. Recommended daily budget - Estimated budget needed to keep the campaign in budget for the full 24-hour period. Consider this budget to minimize your campaign's chances of running out of budget.
2. Percent time in budget - The share of time the campaign was in budget during the past 7 days.
3. Estimated missed impressions, clicks and sales - for all campaigns. These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopt the recommended budget. These are estimates based on previous website traffic and campaign's historical performance - and not a guarantee of actual impressions, clicks and sales. Consider using these metrics to further inform your budget allocation decisions. Note: the API only supports NA region currently and when you send the requst, please make sure the campaign belongs to the corresponding marketplace.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "operationId": "getBudgetRecommendations",
- "responses": {
- "200": {
- "description": "Successful Operation.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/BudgetRecommendationResponse"
- }
- }
- }
- },
- "400": {
- "description": "Bad Request.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- },
- "401": {
- "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden - access to the requested resource is forbidden",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- },
- "415": {
- "description": "Unsupported Media Type - the payload is in a format not supported by this method.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- },
- "422": {
- "description": "Unprocessable Entity - Failed due to invalid parameters.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- },
- "429": {
- "description": "Too Many Requests - request was rate-limited. Retry later.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- },
- "500": {
- "description": "Internal Server DBCError - something went wrong on the server. Retry later and report a DBCError if unresolved.",
- "content": {
- "application/vnd.budgetrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
- }
- }
- }
- }
- },
- "parameters": [
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
- "required": true
- }
- ],
- "tags": [
- "Budget recommendations and missed opportunities"
- ]
- }
- },
- "/sp/negativeTargets": {
- "post": {
- "requestBody": {
- "content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeTargetingClausesRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "CreateSponsoredProductsNegativeTargetingClauses",
- "responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsNegativeTargetingClauses 207 response",
- "content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeTargetingClausesResponseContent"
- }
- }
- }
- },
- "400": {
- "description": "NegativeTargetMutationException 400 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeTargetMutationExceptionResponseContent"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
- }
- }
- }
- },
- "403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
- }
- }
- }
- },
- "429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
- }
- }
- }
- },
- "500": {
- "description": "InternalServerException 500 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
- }
- }
- }
- }
- },
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
- "parameters": [
- {
- "schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
- }
- ],
- "tags": [
- "NegativeTargetingClauses"
- ]
- },
- "put": {
- "requestBody": {
- "content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeTargetingClausesRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "UpdateSponsoredProductsNegativeTargetingClauses",
- "responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsNegativeTargetingClauses 207 response",
- "content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeTargetingClausesResponseContent"
- }
- }
- }
- },
- "400": {
- "description": "NegativeTargetMutationException 400 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeTargetMutationExceptionResponseContent"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
- }
- }
- }
- },
- "403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
- }
- }
- }
- },
- "429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
- }
- }
- }
- },
- "500": {
- "description": "InternalServerException 500 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
- }
- }
- }
- }
- },
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
- "parameters": [
- {
- "schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
- }
- ],
- "tags": [
- "NegativeTargetingClauses"
- ]
- }
- },
- "/sp/targets": {
- "post": {
- "requestBody": {
- "content": {
- "application/vnd.spTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsTargetingClausesRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "CreateSponsoredProductsTargetingClauses",
- "responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsTargetingClauses 207 response",
- "content": {
- "application/vnd.spTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsTargetingClausesResponseContent"
- }
- }
- }
- },
- "400": {
- "description": "TargetMutationException 400 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsTargetMutationExceptionResponseContent"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
- }
- }
- }
- },
- "403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
- }
- }
- }
- },
- "429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
- }
- }
- }
- },
- "500": {
- "description": "InternalServerException 500 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
- }
- }
- }
- }
- },
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
- "parameters": [
- {
- "schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
- }
- ],
- "tags": [
- "TargetingClauses"
- ]
- },
- "put": {
- "requestBody": {
- "content": {
- "application/vnd.spTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsTargetingClausesRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "UpdateSponsoredProductsTargetingClauses",
- "responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsTargetingClauses 207 response",
- "content": {
- "application/vnd.spTargetingClause.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsTargetingClausesResponseContent"
- }
- }
- }
- },
- "400": {
- "description": "TargetMutationException 400 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsTargetMutationExceptionResponseContent"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
- }
- }
- }
- },
- "403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
- }
- }
- }
- },
- "429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
- }
- }
- }
- },
- "500": {
- "description": "InternalServerException 500 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
- }
- }
- }
- }
- },
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -3669,114 +3133,21 @@
}
],
"tags": [
- "TargetingClauses"
- ]
- }
- },
- "/sp/campaigns/budgetRules/recommendations": {
- "post": {
- "summary": "Gets a list of special events with suggested date range and suggested budget increase for a campaign specified by identifier.",
- "requestBody": {
- "content": {
- "application/vnd.spbudgetrulesrecommendation.v3+json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/SPBudgetRulesRecommendationEventRequest"
- }
- ],
- "discriminator": {
- "mapping": {
- "EVENTS_FOR_EXISTING_CAMPAIGN": "#/components/schemas/SPBudgetRulesRecommendationEventRequest"
- },
- "propertyName": "recommendationType"
- }
- }
- }
- }
- },
- "operationId": "SPGetBudgetRulesRecommendation",
- "description": "A rule enables an automatic budget increase for a specified date range or for a special event. The response also includes a suggested budget increase for each special event.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "responses": {
- "200": {
- "description": "Successful Operation.",
- "content": {
- "application/vnd.spbudgetrulesrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPBudgetRulesRecommendationEventResponse"
- }
- }
- }
- },
- "400": {
- "description": "Bad Request.",
- "content": {
- "application/vnd.spbudgetrulesrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPBudgetRulesRecommendationError"
- }
- }
- }
- },
- "429": {
- "description": "Too Many Requests. Request was rate-limited. Retry later.",
- "content": {
- "application/vnd.spbudgetrulesrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPBudgetRulesRecommendationError"
- }
- }
- }
- },
- "500": {
- "description": "Internal Server Error. Something went wrong on the server.",
- "content": {
- "application/vnd.spbudgetrulesrecommendation.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SPBudgetRulesRecommendationError"
- }
- }
- }
- }
- },
- "parameters": [
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
- "required": true
- }
- ],
- "tags": [
- "BudgetRulesRecommendation"
+ "ProductAds"
]
- }
- },
- "/sp/campaignNegativeTargets": {
- "post": {
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsProductAdsRequestContent"
}
}
},
"required": true
},
- "operationId": "CreateSponsoredProductsCampaignNegativeTargetingClauses",
+ "operationId": "UpdateSponsoredProductsProductAds",
"responses": {
"207": {
"headers": {
@@ -3788,21 +3159,21 @@
"description": "Header containing preferences applied while processing API call"
}
},
- "description": "CreateSponsoredProductsCampaignNegativeTargetingClauses 207 response",
+ "description": "UpdateSponsoredProductsProductAds 207 response",
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsProductAdsResponseContent"
}
}
}
},
"400": {
- "description": "CampaignNegativeTargetsMutationException 400 response",
+ "description": "ProductAdMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsProductAdMutationExceptionResponseContent"
}
}
}
@@ -3901,107 +3272,91 @@
}
],
"tags": [
- "CampaignNegativeTargetingClauses"
+ "ProductAds"
]
- },
- "put": {
+ }
+ },
+ "/sp/budgetRules": {
+ "post": {
+ "summary": "Creates one or more budget rules.",
"requestBody": {
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/CreateSPBudgetRulesRequest"
}
}
},
"required": true
},
- "operationId": "UpdateSponsoredProductsCampaignNegativeTargetingClauses",
+ "operationId": "CreateBudgetRulesForSPCampaigns",
"responses": {
"207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsCampaignNegativeTargetingClauses 207 response",
+ "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.",
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/CreateBudgetRulesResponse"
}
}
}
},
"400": {
- "description": "CampaignNegativeTargetsMutationException 400 response",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
@@ -4011,277 +3366,223 @@
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "required": true
- },
- {
- "schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "type": "string"
- },
- "in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
"in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
+ "name": "Amazon-Advertising-API-Scope",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "required": true
}
],
"tags": [
- "CampaignNegativeTargetingClauses"
+ "BudgetRules"
]
- }
- },
- "/sp/keywords": {
- "post": {
- "requestBody": {
- "content": {
- "application/vnd.spKeyword.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsKeywordsRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "CreateSponsoredProductsKeywords",
+ },
+ "get": {
+ "summary": "Get all budget rules created by an advertiser",
+ "operationId": "GetSPBudgetRulesForAdvertiser",
"responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsKeywords 207 response",
+ "200": {
+ "description": "Successful operation.",
"content": {
- "application/vnd.spKeyword.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsKeywordsResponseContent"
+ "$ref": "#/components/schemas/GetSPBudgetRulesForAdvertiserResponse"
}
}
}
},
"400": {
- "description": "KeywordMutationException 400 response",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
+ "in": "query",
+ "name": "nextToken",
+ "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
+ },
+ {
+ "schema": {
+ "type": "number"
+ },
+ "in": "query",
+ "name": "pageSize",
+ "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
+ "required": true
}
],
"tags": [
- "Keywords"
+ "BudgetRules"
]
},
"put": {
+ "summary": "Updates one or more budget rules.",
"requestBody": {
"content": {
- "application/vnd.spKeyword.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsKeywordsRequestContent"
+ "$ref": "#/components/schemas/UpdateSPBudgetRulesRequest"
}
}
},
"required": true
},
- "operationId": "UpdateSponsoredProductsKeywords",
+ "operationId": "UpdateBudgetRulesForSPCampaigns",
"responses": {
"207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsKeywords 207 response",
+ "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.",
"content": {
- "application/vnd.spKeyword.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsKeywordsResponseContent"
+ "$ref": "#/components/schemas/UpdateBudgetRulesResponse"
}
}
}
},
"400": {
- "description": "KeywordMutationException 400 response",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
@@ -4291,323 +3592,287 @@
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Keywords"
+ "BudgetRules"
]
}
},
- "/sp/campaignNegativeTargets/list": {
+ "/sp/targets/categories/recommendations": {
"post": {
+ "summary": "Returns a list of category recommendations for the input list of ASINs.",
"requestBody": {
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/vnd.spproducttargeting.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/GetCategoryRecommendationsForAsinsRequest"
}
}
}
},
- "operationId": "ListSponsoredProductsCampaignNegativeTargetingClauses",
+ "operationId": "getCategoryRecommendationsForASINs",
+ "description": "Returns a list of category recommendations for the input list of ASINs. Use this API to discover relevant categories to target. To find ASINs, either use the Product Metadata API or browse the Amazon Retail Website.
- Response can be requested in different versions with the help of accept header. Please review the response mediaTypes for more information.
\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"responses": {
"200": {
- "description": "ListSponsoredProductsCampaignNegativeTargetingClauses 200 response",
+ "description": "success",
"content": {
- "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "application/vnd.spproducttargetingresponse.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/CategoryRecommendations"
}
- }
- }
- },
- "400": {
- "description": "CampaignNegativeTargetsAccessException 400 response",
- "content": {
- "application/json": {
+ },
+ "application/vnd.spproducttargetingresponse.v4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/CategoryRecommendationsWithAsinCounts"
}
}
}
},
- "401": {
- "description": "UnauthorizedException 401 response",
+ "400": {
+ "description": "Bad Request",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BadRequestException"
}
}
}
},
- "403": {
- "description": "AccessDeniedException 403 response",
+ "401": {
+ "description": "Unauthorized - Request failed because user is not authenticated.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/UnauthorizedException"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity - Failed due to invalid parameters.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/UnprocessableEntityException"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
+ "required": false
}
],
"tags": [
- "CampaignNegativeTargetingClauses"
+ "Product Targeting"
]
}
},
- "/sp/targets/delete": {
+ "/sp/campaigns/initialBudgetRecommendation": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spTargetingClause.v3+json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/InitialBudgetRecommendationRequest"
}
}
- },
- "required": true
+ }
},
- "operationId": "DeleteSponsoredProductsTargetingClauses",
+ "description": "Creates daily budget recommendation along with benchmark metrics when creating a new campaign.",
+ "operationId": "getBudgetRecommendation",
"responses": {
- "207": {
- "description": "DeleteSponsoredProductsTargetingClauses 207 response",
+ "200": {
+ "description": "200 response.",
"content": {
- "application/vnd.spTargetingClause.v3+json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/InitialBudgetRecommendationResponse"
}
}
}
},
"400": {
- "description": "TargetMutationException 400 response",
+ "description": "400 response.",
"content": {
- "application/json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsTargetMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "401 response.",
"content": {
- "application/json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "403 response.",
"content": {
- "application/json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
}
}
}
},
"415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "description": "415 response.",
"content": {
- "application/json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "429 response.",
"content": {
- "application/json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "500 response.",
"content": {
- "application/json": {
+ "application/vnd.spinitialbudgetrecommendation.v3.4+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationNewCampaignsException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
+ "explode": false,
"name": "Amazon-Advertising-API-ClientId",
"description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "style": "simple",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
+ "explode": false,
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
+ "style": "simple",
"required": true
}
],
"tags": [
- "TargetingClauses"
+ "Budget Recommendation New Campaigns"
]
}
},
- "/sp/campaigns": {
+ "/sp/campaignNegativeTargets/delete": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
}
}
},
"required": true
},
- "operationId": "CreateSponsoredProductsCampaigns",
+ "operationId": "DeleteSponsoredProductsCampaignNegativeTargetingClauses",
"responses": {
"207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsCampaigns 207 response",
+ "description": "DeleteSponsoredProductsCampaignNegativeTargetingClauses 207 response",
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "CampaignMutationException 400 response",
+ "description": "CampaignNegativeTargetsMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsMutationExceptionResponseContent"
}
}
}
@@ -4694,190 +3959,154 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Campaigns"
+ "CampaignNegativeTargetingClauses"
]
- },
- "put": {
- "requestBody": {
- "content": {
- "application/vnd.spCampaign.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignsRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "UpdateSponsoredProductsCampaigns",
+ }
+ },
+ "/sp/budgetRules/{budgetRuleId}": {
+ "get": {
+ "summary": "Gets a budget rule specified by identifier.",
+ "operationId": "GetBudgetRuleByRuleIdForSPCampaigns",
"responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsCampaigns 207 response",
+ "200": {
+ "description": "Successful operation.",
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignsResponseContent"
+ "$ref": "#/components/schemas/GetSPBudgetRuleResponse"
}
}
}
},
"400": {
- "description": "CampaignMutationException 400 response",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetRuleError"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
+ "in": "path",
+ "name": "budgetRuleId",
+ "description": "The budget rule identifier.",
+ "required": true
}
],
"tags": [
- "Campaigns"
+ "BudgetRules"
]
}
},
- "/sp/adGroups/list": {
+ "/sp/productAds/delete": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsAdGroupsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsProductAdsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsAdGroups",
+ "operationId": "DeleteSponsoredProductsProductAds",
"responses": {
- "200": {
- "description": "ListSponsoredProductsAdGroups 200 response",
+ "207": {
+ "description": "DeleteSponsoredProductsProductAds 207 response",
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spProductAd.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsAdGroupsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsProductAdsResponseContent"
}
}
}
},
"400": {
- "description": "AdGroupAccessException 400 response",
+ "description": "ProductAdMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAdGroupAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsProductAdMutationExceptionResponseContent"
}
}
}
@@ -4943,7 +4172,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -4967,40 +4196,49 @@
}
],
"tags": [
- "AdGroups"
+ "ProductAds"
]
}
},
- "/sp/adGroups/delete": {
+ "/sp/campaignNegativeKeywords": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsAdGroupsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeKeywordsRequestContent"
}
}
},
"required": true
},
- "operationId": "DeleteSponsoredProductsAdGroups",
+ "operationId": "CreateSponsoredProductsCampaignNegativeKeywords",
"responses": {
"207": {
- "description": "DeleteSponsoredProductsAdGroups 207 response",
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsCampaignNegativeKeywords 207 response",
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsAdGroupsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "AdGroupMutationException 400 response",
+ "description": "CampaignNegativeKeywordMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAdGroupMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordMutationExceptionResponseContent"
}
}
}
@@ -5087,92 +4325,129 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "AdGroups"
+ "CampaignNegativeKeywords"
]
- }
- },
- "/sp/campaign/recommendations": {
- "get": {
- "operationId": "getCampaignRecommendations",
- "description": "Gets the top consolidated recommendations across bid, budget, targeting for SP campaigns given an advertiser profile id. The recommendations are refreshed everyday.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_view\",\"advertiser_campaign_edit\"]",
+ },
+ "put": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeKeywordsRequestContent"
+ }
+ }
+ },
+ "required": true
+ },
+ "operationId": "UpdateSponsoredProductsCampaignNegativeKeywords",
"responses": {
- "200": {
- "description": "Success.",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsCampaignNegativeKeywords 207 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/vnd.spCampaignNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetCampaignRecommendationsResponse"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "Invalid Request - The input fails to satisfy the constraints of the API.",
+ "description": "CampaignNegativeKeywordMutationException 400 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/ValidationException"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized - Request failed because user is not authenticated.",
+ "description": "UnauthorizedException 401 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/UnauthorizedException"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Access Denied - Request failed because the user is not allowed to invoke the operation.",
+ "description": "AccessDeniedException 403 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/AccessDeniedException"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity - Failed due to invalid parameters.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/UnprocessableEntityException"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
- "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
@@ -5182,257 +4457,230 @@
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
},
{
"schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "query",
- "name": "nextToken",
- "description": "Optional. Token to retrieve subsequent page of results."
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "query",
- "name": "maxResults",
- "description": "Optional. Limits the number of items to return in the response."
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Consolidated Recommendations"
+ "CampaignNegativeKeywords"
]
}
},
- "/sp/campaignNegativeKeywords/delete": {
- "post": {
- "requestBody": {
- "content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeKeywordsRequestContent"
- }
- }
- },
- "required": true
- },
- "operationId": "DeleteSponsoredProductsCampaignNegativeKeywords",
+ "/sp/negativeTargets/brands/recommendations": {
+ "get": {
+ "summary": "Returns brands recommended for negative targeting.",
+ "operationId": "getNegativeBrands",
+ "description": "Returns brands recommended for negative targeting. Only available for Sellers and Vendors. These recommendations include your own brands because targeting your own brands usually results in lower performance than targeting competitors' brands.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"responses": {
- "207": {
- "description": "DeleteSponsoredProductsCampaignNegativeKeywords 207 response",
+ "200": {
+ "description": "success",
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.spproducttargetingresponse.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/Brands"
}
}
}
},
"400": {
- "description": "CampaignNegativeKeywordMutationException 400 response",
+ "description": "Bad Request - The input fails to satisfy the constraints of the API.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BadRequestException"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized - Request failed because user is not authenticated.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/UnauthorizedException"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "description": "Access Denied - Request failed because the user is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/AccessDeniedException"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "Used to indicate the behavior preferred by the client but is not required for successful completion of the request. Supported values will be updated in the future.",
+ "required": false
}
],
"tags": [
- "CampaignNegativeKeywords"
+ "Product Targeting"
]
}
},
- "/sp/campaignNegativeKeywords/list": {
+ "/sp/campaigns/budgetRecommendations": {
"post": {
+ "summary": "Get recommended daily budget and estimated missed opportunities for campaigns.",
"requestBody": {
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/BudgetRecommendationRequest"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsCampaignNegativeKeywords",
+ "description": "Given a list of campaigns as input, this API provides the following metrics -
1. Recommended daily budget - Estimated budget needed to keep the campaign in budget for the full 24-hour period. Consider this budget to minimize your campaign's chances of running out of budget.
2. Percent time in budget - The share of time the campaign was in budget during the past 7 days.
3. Estimated missed impressions, clicks and sales - for all campaigns. These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopt the recommended budget. These are estimates based on previous website traffic and campaign's historical performance - and not a guarantee of actual impressions, clicks and sales. Consider using these metrics to further inform your budget allocation decisions. Note: the API only supports NA region currently and when you send the requst, please make sure the campaign belongs to the corresponding marketplace.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "operationId": "getBudgetRecommendations",
"responses": {
"200": {
- "description": "ListSponsoredProductsCampaignNegativeKeywords 200 response",
+ "description": "Successful Operation.",
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/BudgetRecommendationResponse"
}
}
}
},
"400": {
- "description": "CampaignNegativeKeywordAccessException 400 response",
+ "description": "Bad Request.",
"content": {
- "application/json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.",
"content": {
- "application/json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden - access to the requested resource is forbidden",
"content": {
- "application/json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
}
}
}
},
"415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "description": "Unsupported Media Type - the payload is in a format not supported by this method.",
+ "content": {
+ "application/vnd.budgetrecommendation.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Unprocessable Entity - Failed due to invalid parameters.",
"content": {
- "application/json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests - request was rate-limited. Retry later.",
"content": {
- "application/json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server DBCError - something went wrong on the server. Retry later and report a DBCError if unresolved.",
"content": {
- "application/json": {
+ "application/vnd.budgetrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/SPTORBudgetRecommendationError"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
@@ -5442,50 +4690,58 @@
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "CampaignNegativeKeywords"
+ "Budget recommendations and missed opportunities"
]
}
},
- "/sp/campaigns/delete": {
+ "/sp/negativeTargets": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeTargetingClausesRequestContent"
}
}
},
"required": true
},
- "operationId": "DeleteSponsoredProductsCampaigns",
+ "operationId": "CreateSponsoredProductsNegativeTargetingClauses",
"responses": {
"207": {
- "description": "DeleteSponsoredProductsCampaigns 207 response",
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsNegativeTargetingClauses 207 response",
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsCampaignsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "CampaignMutationException 400 response",
+ "description": "NegativeTargetMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeTargetMutationExceptionResponseContent"
}
}
}
@@ -5572,42 +4828,59 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Campaigns"
+ "NegativeTargetingClauses"
]
- }
- },
- "/sp/campaigns/list": {
- "post": {
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeTargetingClausesRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsCampaigns",
+ "operationId": "UpdateSponsoredProductsNegativeTargetingClauses",
"responses": {
- "200": {
- "description": "ListSponsoredProductsCampaigns 200 response",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsNegativeTargetingClauses 207 response",
"content": {
- "application/vnd.spCampaign.v3+json": {
+ "application/vnd.spNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "CampaignAccessException 400 response",
+ "description": "NegativeTargetMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeTargetMutationExceptionResponseContent"
}
}
}
@@ -5673,7 +4946,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -5694,211 +4967,243 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Campaigns"
+ "NegativeTargetingClauses"
]
}
},
- "/sp/budgetRules/{budgetRuleId}/campaigns": {
- "get": {
- "summary": "Gets all the campaigns associated with a budget rule",
- "operationId": "GetCampaignsAssociatedWithSPBudgetRule",
+ "/sp/targets/list": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spTargetingClause.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsTargetingClausesRequestContent"
+ }
+ }
+ }
+ },
+ "operationId": "ListSponsoredProductsTargetingClauses",
"responses": {
"200": {
- "description": "Successful operation.",
+ "description": "ListSponsoredProductsTargetingClauses 200 response",
"content": {
- "application/json": {
+ "application/vnd.spTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SPGetAssociatedCampaignsResponse"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "TargetAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsTargetAccessExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "path",
- "name": "budgetRuleId",
- "description": "The budget rule identifier.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "query",
- "name": "nextToken",
- "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
- },
- {
- "schema": {
- "type": "number"
- },
- "in": "query",
- "name": "pageSize",
- "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "BudgetRules"
+ "TargetingClauses"
]
}
},
- "/sp/campaigns/{campaignId}/budgetRules/{budgetRuleId}": {
- "delete": {
- "summary": "Disassociates a budget rule specified by identifier from a campaign specified by identifier.",
- "operationId": "DisassociateAssociatedBudgetRuleForSPCampaigns",
+ "/sp/targets": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spTargetingClause.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsTargetingClausesRequestContent"
+ }
+ }
+ },
+ "required": true
+ },
+ "operationId": "CreateSponsoredProductsTargetingClauses",
"responses": {
- "200": {
- "description": "Successful operation.",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsTargetingClauses 207 response",
"content": {
- "application/json": {
+ "application/vnd.spTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/DisassociateAssociatedBudgetRuleResponse"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request",
+ "description": "TargetMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsTargetMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
@@ -5908,60 +5213,50 @@
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "format": "int64",
- "type": "number"
- },
- "in": "path",
- "name": "campaignId",
- "description": "The campaign identifier.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
},
{
"schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "path",
- "name": "budgetRuleId",
- "description": "The budget rule identifier.",
- "required": true
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "BudgetRules"
+ "TargetingClauses"
]
- }
- },
- "/sp/adGroups": {
- "post": {
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsAdGroupsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsTargetingClausesRequestContent"
}
}
},
"required": true
},
- "operationId": "CreateSponsoredProductsAdGroups",
+ "operationId": "UpdateSponsoredProductsTargetingClauses",
"responses": {
"207": {
"headers": {
@@ -5973,21 +5268,21 @@
"description": "Header containing preferences applied while processing API call"
}
},
- "description": "CreateSponsoredProductsAdGroups 207 response",
+ "description": "UpdateSponsoredProductsTargetingClauses 207 response",
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsAdGroupsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "AdGroupMutationException 400 response",
+ "description": "TargetMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAdGroupMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsTargetMutationExceptionResponseContent"
}
}
}
@@ -6086,47 +5381,39 @@
}
],
"tags": [
- "AdGroups"
+ "TargetingClauses"
]
- },
- "put": {
+ }
+ },
+ "/sp/negativeKeywords/list": {
+ "post": {
"requestBody": {
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsAdGroupsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeKeywordsRequestContent"
}
}
- },
- "required": true
+ }
},
- "operationId": "UpdateSponsoredProductsAdGroups",
+ "operationId": "ListSponsoredProductsNegativeKeywords",
"responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsAdGroups 207 response",
+ "200": {
+ "description": "ListSponsoredProductsNegativeKeywords 200 response",
"content": {
- "application/vnd.spAdGroup.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsAdGroupsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "AdGroupMutationException 400 response",
+ "description": "NegativeKeywordAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAdGroupMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordAccessExceptionResponseContent"
}
}
}
@@ -6192,7 +5479,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
@@ -6213,156 +5500,191 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "AdGroups"
+ "NegativeKeywords"
]
}
},
- "/sp/targets/products/recommendations": {
+ "/sp/negativeKeywords": {
"post": {
- "summary": "Suggested target ASINs for your advertised product",
"requestBody": {
"content": {
- "application/vnd.spproductrecommendation.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetProductRecommendationsRequest"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeKeywordsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "getProductRecommendations",
- "description": "Given an advertised ASIN as input, this API returns suggested ASINs to target in a product targeting campaign. We use various methods to generate these suggestions. These include using historical performance of your ad, items that shoppers they frequently view and purchase together, etc. The suggested targets can be retrieved either as a single list, or grouped by ‘theme' – i.e. an accompanying context for why we recommend the items. You can pick the desired format using the Accepts header, please see the response mediaTypes for more information. \nPagination Behavior
The API supports cursor based pagination using encoded cursor values to return next set of records or previously served records. The count parameter in the request body will be used to determine the size of results when requesting the previous page or next page. If no value for count is passed in the request, a default value is assumed. Please refer the range and defaults for these values in the request schema under GetProductRecommendationsRequest. Note: The clients should never cache pagination cursor values locally as these values will expire after a certain time period. However a cursor value can be reused to perform retries in case of failures as long as the value has not expired.\n Themes
Themes provide additional context for why we are recommending a product as a target. See below for an overall list of themes currently available – - Top converting targets – These ASINs generated conversions for the input ASIN in the past 30 days (e.g. your product appeared as an ad on the detail page of these items, and a shopper clicked and purchased your item). The suggested ASINs under this theme are sorted in decreasing order of sales generated for your promoted item. - Similar items (frequently viewed together) – Items that shoppers frequently view and click along with your advertised item during a shopping session.\n- Complements – Items that are frequently purchased together as complements. For example, if you are promoting a tennis racquet, you may see tennis balls recommended under this theme.\n- Similar items with low ratings and reviews – Subset of the ‘similar items’ theme containing items that are rated lower than 3 stars and/or with fewer than 5 reviews.\n- Other books read by your readers – Items that shoppers frequently view and click along with your advertised item during a shopping session. Note: Availability of themes differs by input ASIN - some ASINs may not have all above themes available\n",
+ "operationId": "CreateSponsoredProductsNegativeKeywords",
"responses": {
- "200": {
- "description": "success",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsNegativeKeywords 207 response",
"content": {
- "application/vnd.spproductrecommendationresponse.themes.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/ProductRecommendationsByTheme"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeKeywordsResponseContent"
}
- },
- "application/vnd.spproductrecommendationresponse.asins.v3+json": {
+ }
+ }
+ },
+ "400": {
+ "description": "NegativeKeywordMutationException 400 response",
+ "content": {
+ "application/json": {
"schema": {
- "$ref": "#/components/schemas/ProductRecommendationsByASIN"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordMutationExceptionResponseContent"
}
}
}
},
- "400": {
- "description": "Bad Request",
+ "401": {
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BadRequestException"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity - Failed due to invalid parameters.",
+ "403": {
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UnprocessableEntityException"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests - Request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ThrottlingException"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error - Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/InternalServerException"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
- "name": "Amazon-Advertising-API-AdvertiserId",
- "description": "The Advertiser ID associated with the advertiser account."
+ "name": "Amazon-Advertising-API-ClientId",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
- "name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "name": "Amazon-Advertising-API-Scope",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
},
{
"schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
"in": "header",
- "name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Product Recommendation Service"
+ "NegativeKeywords"
]
- }
- },
- "/sp/negativeTargets/delete": {
- "post": {
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeKeywordsRequestContent"
}
}
},
"required": true
},
- "operationId": "DeleteSponsoredProductsNegativeTargetingClauses",
+ "operationId": "UpdateSponsoredProductsNegativeKeywords",
"responses": {
"207": {
- "description": "DeleteSponsoredProductsNegativeTargetingClauses 207 response",
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsNegativeKeywords 207 response",
"content": {
- "application/vnd.spNegativeTargetingClause.v3+json": {
+ "application/vnd.spNegativeKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsNegativeTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "NegativeTargetMutationException 400 response",
+ "description": "NegativeKeywordMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeTargetMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordMutationExceptionResponseContent"
}
}
}
@@ -6449,113 +5771,91 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "NegativeTargetingClauses"
+ "NegativeKeywords"
]
}
},
- "/sp/keywords/delete": {
+ "/sp/campaigns/budgetRules/recommendations": {
"post": {
+ "summary": "Gets a list of special events with suggested date range and suggested budget increase for a campaign specified by identifier.",
"requestBody": {
"content": {
- "application/vnd.spKeyword.v3+json": {
+ "application/vnd.spbudgetrulesrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsKeywordsRequestContent"
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/SPBudgetRulesRecommendationEventRequest"
+ }
+ ],
+ "discriminator": {
+ "mapping": {
+ "EVENTS_FOR_EXISTING_CAMPAIGN": "#/components/schemas/SPBudgetRulesRecommendationEventRequest"
+ },
+ "propertyName": "recommendationType"
+ }
}
}
- },
- "required": true
+ }
},
- "operationId": "DeleteSponsoredProductsKeywords",
+ "operationId": "SPGetBudgetRulesRecommendation",
+ "description": "A rule enables an automatic budget increase for a specified date range or for a special event. The response also includes a suggested budget increase for each special event.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"responses": {
- "207": {
- "description": "DeleteSponsoredProductsKeywords 207 response",
+ "200": {
+ "description": "Successful Operation.",
"content": {
- "application/vnd.spKeyword.v3+json": {
+ "application/vnd.spbudgetrulesrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsKeywordsResponseContent"
+ "$ref": "#/components/schemas/SPBudgetRulesRecommendationEventResponse"
}
}
}
},
"400": {
- "description": "KeywordMutationException 400 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsKeywordMutationExceptionResponseContent"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedException 401 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
- }
- }
- }
- },
- "403": {
- "description": "AccessDeniedException 403 response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
- }
- }
- }
- },
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "description": "Bad Request.",
"content": {
- "application/json": {
+ "application/vnd.spbudgetrulesrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/SPBudgetRulesRecommendationError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. Request was rate-limited. Retry later.",
"content": {
- "application/json": {
+ "application/vnd.spbudgetrulesrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/SPBudgetRulesRecommendationError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server Error. Something went wrong on the server.",
"content": {
- "application/json": {
+ "application/vnd.spbudgetrulesrecommendation.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/SPBudgetRulesRecommendationError"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
@@ -6565,669 +5865,731 @@
},
{
"schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "Keywords"
+ "BudgetRulesRecommendation"
]
}
},
- "/sp/campaigns/{campaignId}/budgetRules/budgetHistory": {
- "get": {
- "summary": "Gets the budget history for a campaign specified by identifier.",
- "description": "The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "operationId": "getRuleBasedBudgetHistoryForSPCampaigns",
+ "/sp/campaignNegativeTargets": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
+ }
+ }
+ },
+ "required": true
+ },
+ "operationId": "CreateSponsoredProductsCampaignNegativeTargetingClauses",
"responses": {
- "200": {
- "description": "Successful operation.",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsCampaignNegativeTargetingClauses 207 response",
"content": {
- "application/json": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SPBudgetHistory"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "CampaignNegativeTargetsMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a Login with Amazon account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "format": "int64",
- "type": "number"
- },
- "in": "path",
- "name": "campaignId",
- "description": "The campaign identifier.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "query",
- "name": "nextToken",
- "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
- },
- {
- "schema": {
- "type": "number"
- },
- "in": "query",
- "name": "pageSize",
- "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "query",
- "name": "startDate",
- "description": "The start date of the budget history in YYYYMMDD format.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
},
{
"schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "query",
- "name": "endDate",
- "description": "The end date of the budget history in YYYYMMDD format.",
- "required": true
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "BudgetRules"
+ "CampaignNegativeTargetingClauses"
]
- }
- },
- "/sp/rules/campaignOptimization/eligibility": {
- "post": {
- "summary": "Gets a campaign optimization rule recommendation for SP campaigns.",
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SPCampaignOptimizationRecommendationsAPIRequest"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
}
}
},
"required": true
},
- "operationId": "GetOptimizationRuleEligibility",
+ "operationId": "UpdateSponsoredProductsCampaignNegativeTargetingClauses",
"responses": {
- "200": {
- "description": "Successful Operation.",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsCampaignNegativeTargetingClauses 207 response",
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SPCampaignOptimizationRecommendationAPIResponse"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "CampaignNegativeTargetsMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable Entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Campaign Optimization Rules"
+ "CampaignNegativeTargetingClauses"
]
}
},
- "/sp/budgetRules/{budgetRuleId}": {
- "get": {
- "summary": "Gets a budget rule specified by identifier.",
- "operationId": "GetBudgetRuleByRuleIdForSPCampaigns",
+ "/sp/keywords": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spKeyword.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsKeywordsRequestContent"
+ }
+ }
+ },
+ "required": true
+ },
+ "operationId": "CreateSponsoredProductsKeywords",
"responses": {
- "200": {
- "description": "Successful operation.",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsKeywords 207 response",
"content": {
- "application/json": {
+ "application/vnd.spKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetSPBudgetRuleResponse"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "KeywordMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsKeywordMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/BudgetRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
},
{
"schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "path",
- "name": "budgetRuleId",
- "description": "The budget rule identifier.",
- "required": true
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "BudgetRules"
+ "Keywords"
]
- }
- },
- "/sp/rules/campaignOptimization/{campaignOptimizationId}": {
- "get": {
- "summary": "Gets a campaign optimization rule specified by identifier.",
- "operationId": "GetCampaignOptimizationRule",
+ },
+ "put": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spKeyword.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsKeywordsRequestContent"
+ }
+ }
+ },
+ "required": true
+ },
+ "operationId": "UpdateSponsoredProductsKeywords",
"responses": {
- "200": {
- "description": "Successful operation.",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsKeywords 207 response",
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spKeyword.v3+json": {
"schema": {
- "$ref": "#/components/schemas/GetSPCampaignOptimizationRuleResponse"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsKeywordsResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "KeywordMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsKeywordMutationExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "404": {
- "description": "Resource not found",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
- "content": {
- "application/json": {
+ "429": {
+ "headers": {
+ "Retry-After": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
- }
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
}
- }
- },
- "429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
},
{
"schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
"type": "string"
},
- "in": "path",
- "name": "campaignOptimizationId",
- "description": "The sp campaign optimization rule identifier.",
- "required": true
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "Campaign Optimization Rules"
+ "Keywords"
]
- },
- "delete": {
- "summary": "Deletes a campaign optimization rule specified by identifier.",
- "operationId": "DeleteCampaignOptimizationRule",
+ }
+ },
+ "/sp/campaignNegativeTargets/list": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
+ "schema": {
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeTargetingClausesRequestContent"
+ }
+ }
+ }
+ },
+ "operationId": "ListSponsoredProductsCampaignNegativeTargetingClauses",
"responses": {
"200": {
- "description": "Successful operation.",
+ "description": "ListSponsoredProductsCampaignNegativeTargetingClauses 200 response",
"content": {
- "application/vnd.optimizationrules.v1+json": {
+ "application/vnd.spCampaignNegativeTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/DeleteSPCampaignOptimizationRuleResponse"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsCampaignNegativeTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "CampaignNegativeTargetsAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeTargetsAccessExceptionResponseContent"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "UnauthorizedException 401 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
- }
- }
- }
- },
- "404": {
- "description": "Resource not found",
+ "description": "AccessDeniedException 403 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
}
}
}
},
- "422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "415": {
+ "description": "UnsupportedMediaTypeException 415 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "headers": {
+ "Retry-After": {
+ "schema": {
+ "format": "int32",
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
+ "type": "integer"
+ },
+ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
+ }
+ },
+ "description": "ThrottlingException 429 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
}
}
}
},
"500": {
- "description": "Internal Server Error.",
+ "description": "InternalServerException 500 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
+ "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
"schema": {
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"type": "string"
},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
- "required": true
- },
- {
- "schema": {
- "type": "string"
- },
- "in": "path",
- "name": "campaignOptimizationId",
- "description": "The sp campaign optimization rule identifier.",
+ "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
}
],
"tags": [
- "Campaign Optimization Rules"
+ "CampaignNegativeTargetingClauses"
]
}
},
- "/sp/campaignNegativeKeywords": {
+ "/sp/targets/delete": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.spTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsTargetingClausesRequestContent"
}
}
},
"required": true
},
- "operationId": "CreateSponsoredProductsCampaignNegativeKeywords",
+ "operationId": "DeleteSponsoredProductsTargetingClauses",
"responses": {
"207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsCampaignNegativeKeywords 207 response",
+ "description": "DeleteSponsoredProductsTargetingClauses 207 response",
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.spTargetingClause.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsTargetingClausesResponseContent"
}
}
}
},
"400": {
- "description": "CampaignNegativeKeywordMutationException 400 response",
+ "description": "TargetMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsTargetMutationExceptionResponseContent"
}
}
}
@@ -7314,190 +6676,160 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "CampaignNegativeKeywords"
+ "TargetingClauses"
]
- },
- "put": {
+ }
+ },
+ "/sp/campaigns/budget/usage": {
+ "post": {
+ "summary": "Budget usage API for SP campaigns",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "tags": [
+ "Budget Usage"
+ ],
"requestBody": {
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.spcampaignbudgetusage.v1+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/BudgetUsageCampaignRequest"
}
}
},
"required": true
},
- "operationId": "UpdateSponsoredProductsCampaignNegativeKeywords",
+ "operationId": "spCampaignsBudgetUsage",
"responses": {
"207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsCampaignNegativeKeywords 207 response",
+ "description": "Multi-status. An object containing a list of budget usage response objects reflecting the same order as the input.",
"content": {
- "application/vnd.spCampaignNegativeKeyword.v3+json": {
+ "application/vnd.spcampaignbudgetusage.v1+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageCampaignResponse"
}
}
}
},
"400": {
- "description": "CampaignNegativeKeywordMutationException 400 response",
+ "description": "Bad Request.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCampaignNegativeKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageError"
}
}
}
},
"401": {
- "description": "UnauthorizedException 401 response",
+ "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnauthorizedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageError"
}
}
}
},
"403": {
- "description": "AccessDeniedException 403 response",
+ "description": "Forbidden. The request failed because user does not have access to a specified resource.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsAccessDeniedExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageError"
}
}
}
},
- "415": {
- "description": "UnsupportedMediaTypeException 415 response",
+ "422": {
+ "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUnsupportedMediaTypeExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageError"
}
}
}
},
"429": {
- "headers": {
- "Retry-After": {
- "schema": {
- "format": "int32",
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended",
- "type": "integer"
- },
- "description": "Delay in seconds, before the next re-try attempt to the operation is recommended"
- }
- },
- "description": "ThrottlingException 429 response",
+ "description": "Too Many Requests. The request was rate-limited. Retry later.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsThrottlingExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageError"
}
}
}
},
"500": {
- "description": "InternalServerException 500 response",
+ "description": "Internal Server BudgetUsageError - Something went wrong on the server. Retry later and report an BudgetUsageError if unresolved.",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsInternalServerExceptionResponseContent"
+ "$ref": "#/components/schemas/BudgetUsageError"
}
}
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
- "schema": {
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
- "type": "string"
- },
+ "schema": {},
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
},
{
- "schema": {
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
- "type": "string"
- },
+ "schema": {},
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
- ],
- "tags": [
- "CampaignNegativeKeywords"
]
}
},
- "/sp/targets/list": {
+ "/sp/campaigns": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spTargetingClause.v3+json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsTargetingClausesRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsTargetingClauses",
+ "operationId": "CreateSponsoredProductsCampaigns",
"responses": {
- "200": {
- "description": "ListSponsoredProductsTargetingClauses 200 response",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "CreateSponsoredProductsCampaigns 207 response",
"content": {
- "application/vnd.spTargetingClause.v3+json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsTargetingClausesResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsCampaignsResponseContent"
}
}
}
},
"400": {
- "description": "TargetAccessException 400 response",
+ "description": "CampaignMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsTargetAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignMutationExceptionResponseContent"
}
}
}
@@ -7584,42 +6916,59 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "TargetingClauses"
+ "Campaigns"
]
- }
- },
- "/sp/negativeKeywords/list": {
- "post": {
+ },
+ "put": {
"requestBody": {
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignsRequestContent"
}
}
- }
+ },
+ "required": true
},
- "operationId": "ListSponsoredProductsNegativeKeywords",
+ "operationId": "UpdateSponsoredProductsCampaigns",
"responses": {
- "200": {
- "description": "ListSponsoredProductsNegativeKeywords 200 response",
+ "207": {
+ "headers": {
+ "Preference-Applied": {
+ "schema": {
+ "description": "Header containing preferences applied while processing API call",
+ "type": "string"
+ },
+ "description": "Header containing preferences applied while processing API call"
+ }
+ },
+ "description": "UpdateSponsoredProductsCampaigns 207 response",
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spCampaign.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsCampaignsResponseContent"
}
}
}
},
"400": {
- "description": "NegativeKeywordAccessException 400 response",
+ "description": "CampaignMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordAccessExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsCampaignMutationExceptionResponseContent"
}
}
}
@@ -7685,7 +7034,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
"parameters": [
{
"schema": {
@@ -7706,52 +7055,51 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
+ },
+ {
+ "schema": {
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
+ "type": "string"
+ },
+ "in": "header",
+ "name": "Prefer",
+ "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "NegativeKeywords"
+ "Campaigns"
]
}
},
- "/sp/negativeKeywords": {
+ "/sp/adGroups/list": {
"post": {
"requestBody": {
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsAdGroupsRequestContent"
}
}
- },
- "required": true
+ }
},
- "operationId": "CreateSponsoredProductsNegativeKeywords",
+ "operationId": "ListSponsoredProductsAdGroups",
"responses": {
- "207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "CreateSponsoredProductsNegativeKeywords 207 response",
+ "200": {
+ "description": "ListSponsoredProductsAdGroups 200 response",
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsCreateSponsoredProductsNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsListSponsoredProductsAdGroupsResponseContent"
}
}
}
},
"400": {
- "description": "NegativeKeywordMutationException 400 response",
+ "description": "AdGroupAccessException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsAdGroupAccessExceptionResponseContent"
}
}
}
@@ -7817,7 +7165,7 @@
}
}
},
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
+ "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
"parameters": [
{
"schema": {
@@ -7838,59 +7186,43 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "NegativeKeywords"
+ "AdGroups"
]
- },
- "put": {
+ }
+ },
+ "/sp/adGroups/delete": {
+ "post": {
"requestBody": {
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeKeywordsRequestContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsAdGroupsRequestContent"
}
}
},
"required": true
},
- "operationId": "UpdateSponsoredProductsNegativeKeywords",
+ "operationId": "DeleteSponsoredProductsAdGroups",
"responses": {
"207": {
- "headers": {
- "Preference-Applied": {
- "schema": {
- "description": "Header containing preferences applied while processing API call",
- "type": "string"
- },
- "description": "Header containing preferences applied while processing API call"
- }
- },
- "description": "UpdateSponsoredProductsNegativeKeywords 207 response",
+ "description": "DeleteSponsoredProductsAdGroups 207 response",
"content": {
- "application/vnd.spNegativeKeyword.v3+json": {
+ "application/vnd.spAdGroup.v3+json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsUpdateSponsoredProductsNegativeKeywordsResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsDeleteSponsoredProductsAdGroupsResponseContent"
}
}
}
},
"400": {
- "description": "NegativeKeywordMutationException 400 response",
+ "description": "AdGroupMutationException 400 response",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SponsoredProductsNegativeKeywordMutationExceptionResponseContent"
+ "$ref": "#/components/schemas/SponsoredProductsAdGroupMutationExceptionResponseContent"
}
}
}
@@ -7977,107 +7309,84 @@
"name": "Amazon-Advertising-API-Scope",
"description": "The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list\nprofiles associated with the access token passed in the HTTP Authorization header.",
"required": true
- },
- {
- "schema": {
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids",
- "type": "string"
- },
- "in": "header",
- "name": "Prefer",
- "description": "The \"Prefer\" header, as defined in [RFC7240], allows clients to request certain behavior from the service.\nThe service ignores preference values that are either not supported or not known by the service.\nEither multiple Prefer headers are passed or single one with comma separated values, both forms are equivalent\nSupported preferences:\nreturn=representation - return the full object when doing create/update/delete operations instead of ids"
}
],
"tags": [
- "NegativeKeywords"
+ "AdGroups"
]
}
},
- "/sp/campaigns/budget/usage": {
- "post": {
- "summary": "Budget usage API for SP campaigns",
- "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
- "tags": [
- "Budget Usage"
- ],
- "requestBody": {
- "content": {
- "application/vnd.spcampaignbudgetusage.v1+json": {
- "schema": {
- "$ref": "#/components/schemas/BudgetUsageCampaignRequest"
- }
- }
- },
- "required": true
- },
- "operationId": "spCampaignsBudgetUsage",
+ "/sp/campaign/recommendations": {
+ "get": {
+ "operationId": "getCampaignRecommendations",
+ "description": "Gets the top consolidated recommendations across bid, budget, targeting for SP campaigns given an advertiser profile id. The recommendations are refreshed everyday.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_view\",\"advertiser_campaign_edit\"]",
"responses": {
- "207": {
- "description": "Multi-status. An object containing a list of budget usage response objects reflecting the same order as the input.",
+ "200": {
+ "description": "Success.",
"content": {
- "application/vnd.spcampaignbudgetusage.v1+json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageCampaignResponse"
+ "$ref": "#/components/schemas/GetCampaignRecommendationsResponse"
}
}
}
},
"400": {
- "description": "Bad Request.",
+ "description": "Invalid Request - The input fails to satisfy the constraints of the API.",
"content": {
- "application/json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageError"
+ "$ref": "#/components/schemas/ValidationException"
}
}
}
},
"401": {
- "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
+ "description": "Unauthorized - Request failed because user is not authenticated.",
"content": {
- "application/json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageError"
+ "$ref": "#/components/schemas/UnauthorizedException"
}
}
}
},
"403": {
- "description": "Forbidden. The request failed because user does not have access to a specified resource.",
+ "description": "Access Denied - Request failed because the user is not allowed to invoke the operation.",
"content": {
- "application/json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageError"
+ "$ref": "#/components/schemas/AccessDeniedException"
}
}
}
},
"422": {
- "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
+ "description": "Unprocessable entity - Failed due to invalid parameters.",
"content": {
- "application/json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageError"
+ "$ref": "#/components/schemas/UnprocessableEntityException"
}
}
}
},
"429": {
- "description": "Too Many Requests. The request was rate-limited. Retry later.",
+ "description": "Too Many Requests - Request was rate-limited. Retry later.",
"content": {
- "application/json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageError"
+ "$ref": "#/components/schemas/ThrottlingException"
}
}
}
},
"500": {
- "description": "Internal Server BudgetUsageError - Something went wrong on the server. Retry later and report an BudgetUsageError if unresolved.",
+ "description": "Internal Server Error - Something went wrong on the server. Retry later and report an error if unresolved.",
"content": {
- "application/json": {
+ "application/vnd.spgetcampaignrecommendationsresponse.v1+json": {
"schema": {
- "$ref": "#/components/schemas/BudgetUsageError"
+ "$ref": "#/components/schemas/InternalServerException"
}
}
}
@@ -8085,19 +7394,42 @@
},
"parameters": [
{
- "schema": {},
+ "schema": {
+ "type": "string"
+ },
"in": "header",
"name": "Amazon-Advertising-API-ClientId",
- "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
"required": true
},
{
- "schema": {},
+ "schema": {
+ "type": "string"
+ },
"in": "header",
"name": "Amazon-Advertising-API-Scope",
- "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
+ "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
"required": true
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "query",
+ "name": "nextToken",
+ "description": "Optional. Token to retrieve subsequent page of results."
+ },
+ {
+ "schema": {
+ "type": "string"
+ },
+ "in": "query",
+ "name": "maxResults",
+ "description": "Optional. Limits the number of items to return in the response."
}
+ ],
+ "tags": [
+ "Consolidated Recommendations"
]
}
}
@@ -8187,6 +7519,14 @@
"description": "The identifier of the keyword.",
"type": "string"
},
+ "nativeLanguageKeyword": {
+ "description": "The unlocalized keyword text in the preferred locale of the advertiser",
+ "type": "string"
+ },
+ "nativeLanguageLocale": {
+ "description": "The locale preference of the advertiser.",
+ "type": "string"
+ },
"campaignId": {
"description": "The identifier of the campaign to which the keyword is associated.",
"type": "string"
@@ -8245,63 +7585,6 @@
}
}
},
- "UpdateSPCampaignOptimizationRulesRequest": {
- "description": "Request object for updating campaign optimization rule",
- "properties": {
- "recurrence": {
- "$ref": "#/components/schemas/RecurrenceType"
- },
- "ruleAction": {
- "$ref": "#/components/schemas/RuleAction"
- },
- "campaignOptimizationId": {
- "$ref": "#/components/schemas/campaignOptimizationId"
- },
- "ruleCondition": {
- "$ref": "#/components/schemas/RuleConditionList"
- },
- "ruleType": {
- "$ref": "#/components/schemas/RuleType"
- },
- "ruleName": {
- "$ref": "#/components/schemas/RuleName"
- },
- "campaignIds": {
- "maxItems": 20,
- "description": "A list of campaign ids",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleCampaignId"
- }
- }
- },
- "required": [
- "campaignOptimizationId",
- "campaignIds",
- "ruleType",
- "recurrence",
- "ruleCondition",
- "ruleAction"
- ],
- "example": {
- "recurrence": "DAILY",
- "ruleAction": "ADOPT",
- "campaignOptimizationId": "10001",
- "ruleCondition": [
- {
- "metricName": "ROAS",
- "comparisonOperator": "GREATER_THAN",
- "threshold": "7"
- }
- ],
- "ruleType": "BID",
- "ruleName": "RuleROAS4",
- "campaignIds": [
- "123784",
- "1223785"
- ]
- }
- },
"SponsoredProductsDraftCampaignNegativeKeywordFailureResponseItem": {
"type": "object",
"properties": {
@@ -8742,6 +8025,10 @@
"description": "Whether to get entity with extended data fields such as creationDate, lastUpdateDate, servingStatus",
"type": "boolean"
},
+ "locale": {
+ "description": "Restricts results to negativeKeywords that match the specified locale.",
+ "type": "string"
+ },
"negativeKeywordIdFilter": {
"$ref": "#/components/schemas/SponsoredProductsObjectIdFilter"
},
@@ -8993,58 +8280,6 @@
"type": "CLOSE_MATCH"
}
},
- "CreateSPCampaignOptimizationRulesRequest": {
- "type": "object",
- "properties": {
- "recurrence": {
- "$ref": "#/components/schemas/RecurrenceType"
- },
- "ruleAction": {
- "$ref": "#/components/schemas/RuleAction"
- },
- "ruleCondition": {
- "$ref": "#/components/schemas/RuleConditionList"
- },
- "ruleType": {
- "$ref": "#/components/schemas/RuleType"
- },
- "ruleName": {
- "$ref": "#/components/schemas/RuleName"
- },
- "campaignIds": {
- "maxItems": 20,
- "description": "A list of campaign ids",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleCampaignId"
- }
- }
- },
- "required": [
- "ruleType",
- "recurrence",
- "ruleCondition",
- "ruleAction",
- "campaignIds"
- ],
- "example": {
- "recurrence": "DAILY",
- "ruleAction": "ADOPT",
- "ruleCondition": [
- {
- "metricName": "ROAS",
- "comparisonOperator": "GREATER_THAN",
- "threshold": "4"
- }
- ],
- "ruleType": "BID",
- "ruleName": "RuleROAS4",
- "campaignIds": [
- "123784",
- "1223785"
- ]
- }
- },
"SponsoredProductsQueryTermMatchType": {
"description": "Match type for query filters.\n| Value | Description |\n|-----------|------------|\n| `BROAD_MATCH` | Match if the queried value contains the filter value. (substring matching) |\n| `EXACT_MATCH` | Match if the queried value is exactly equivalent to the filter value. |",
"type": "string",
@@ -9586,16 +8821,8 @@
}
},
"required": [
- "errorType",
- "errorValue"
- ]
- },
- "RuleState": {
- "description": "The campaign optimization rule state.",
- "type": "string",
- "enum": [
- "ENABLED",
- "DISABLED"
+ "errorType",
+ "errorValue"
]
},
"ValidationException": {
@@ -10173,20 +9400,6 @@
"targetingType"
]
},
- "CampaignOptimizationRuleError": {
- "description": "The Error Response Object.",
- "type": "object",
- "properties": {
- "code": {
- "description": "An enumerated error code for machine use.",
- "type": "string"
- },
- "details": {
- "description": "A human-readable description of the response.",
- "type": "string"
- }
- }
- },
"SponsoredProductsCreateSponsoredProductsGlobalCampaignsRequestContent": {
"type": "object",
"properties": {
@@ -10577,15 +9790,6 @@
}
}
},
- "RuleType": {
- "description": "The type of the campaign optimization rule. Only Support BID as of now",
- "type": "string",
- "enum": [
- "BID",
- "KEYWORD",
- "PRODUCT"
- ]
- },
"SponsoredProductsBulkDraftNegativeTargetingClauseOperationResponse": {
"type": "object",
"properties": {
@@ -10875,13 +10079,6 @@
"location"
]
},
- "RuleAction": {
- "description": "The action taken when the campaign optimization rule is enabled. Defaults to adopt",
- "type": "string",
- "enum": [
- "ADOPT"
- ]
- },
"SponsoredProductsCreateSponsoredProductsDraftNegativeKeywordsResponseContent": {
"type": "object",
"properties": {
@@ -12404,13 +11601,6 @@
}
}
},
- "RuleConditionList": {
- "maxItems": 3,
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleCondition"
- }
- },
"SponsoredProductsMarketplaceLevelProductIdentifier": {
"type": "object",
"properties": {
@@ -12453,6 +11643,10 @@
"description": "Whether to get entity with extended data fields such as creationDate, lastUpdateDate, servingStatus",
"type": "boolean"
},
+ "locale": {
+ "description": "Restricts results to negativeKeywords that match the specified locale.",
+ "type": "string"
+ },
"negativeKeywordIdFilter": {
"$ref": "#/components/schemas/SponsoredProductsObjectIdFilter"
},
@@ -13483,11 +12677,6 @@
}
}
},
- "RuleName": {
- "description": "The campaign optimization rule name.",
- "type": "string",
- "maxLength": 355
- },
"BudgetRecommendation": {
"description": "Contains suggested recommendation for the campaign budget.",
"type": "object",
@@ -14131,10 +13320,6 @@
}
}
},
- "RuleCampaignId": {
- "description": "campaignId",
- "type": "string"
- },
"SponsoredProductsDraftTargetMutationErrorSelector": {
"type": "object",
"properties": {
@@ -14430,14 +13615,6 @@
"INVALID_ARGUMENT"
]
},
- "RuleStatus": {
- "description": "The campaign optimization rule status. Read-Only",
- "type": "string",
- "enum": [
- "ACTIVE",
- "ARCHIVED"
- ]
- },
"SponsoredProductsListSponsoredProductsKeywordsRequestContent": {
"type": "object",
"properties": {
@@ -14802,22 +13979,6 @@
}
}
},
- "SPCampaignOptimizationNotificationAPIRequest": {
- "type": "object",
- "properties": {
- "campaignIds": {
- "maxItems": 100,
- "description": "A list of campaign ids",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleCampaignId"
- }
- }
- },
- "required": [
- "campaignIds"
- ]
- },
"SponsoredProductsListSponsoredProductsCampaignNegativeKeywordsResponseContent": {
"type": "object",
"properties": {
@@ -16355,22 +15516,6 @@
}
}
},
- "DeleteSPCampaignOptimizationRuleResponse": {
- "type": "object",
- "properties": {
- "campaignOptimizationId": {
- "$ref": "#/components/schemas/campaignOptimizationId"
- },
- "code": {
- "description": "An enumerated success or error code for machine use.",
- "type": "string"
- },
- "details": {
- "description": "A human-readable description of the error, if unsuccessful",
- "type": "string"
- }
- }
- },
"SponsoredProductsDeleteSponsoredProductsKeywordsRequestContent": {
"type": "object",
"properties": {
@@ -17134,9 +16279,9 @@
"RecommendationOptions": {
"properties": {
"maxRecommendations": {
- "default": 200,
- "maximum": 200,
+ "default": "200",
"description": "The max size of recommended target. Set it to 0 if you only want to rank user-defined keywords.",
+ "maximum": 200,
"type": "number",
"minimum": 0
},
@@ -17272,6 +16417,14 @@
"SponsoredProductsCreateNegativeKeyword": {
"type": "object",
"properties": {
+ "nativeLanguageKeyword": {
+ "description": "The unlocalized keyword text in the preferred locale of the advertiser",
+ "type": "string"
+ },
+ "nativeLanguageLocale": {
+ "description": "The locale preference of the advertiser.",
+ "type": "string"
+ },
"campaignId": {
"description": "The identifer of the campaign to which the keyword is associated.",
"type": "string"
@@ -17764,17 +16917,6 @@
"include"
]
},
- "RuleRecommendationError": {
- "type": "object",
- "properties": {
- "campaignId": {
- "$ref": "#/components/schemas/RuleCampaignId"
- },
- "Error": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
- }
- }
- },
"SponsoredProductsGlobalCampaignNegativeKeywordFailureResponseItem": {
"type": "object",
"properties": {
@@ -17879,6 +17021,10 @@
"description": "Whether to get entity with extended data fields such as creationDate, lastUpdateDate, servingStatus",
"type": "boolean"
},
+ "locale": {
+ "description": "The locale preference of the advertiser.",
+ "type": "string"
+ },
"negativeKeywordIdFilter": {
"$ref": "#/components/schemas/SponsoredProductsObjectIdFilter"
},
@@ -18248,24 +17394,6 @@
"adGroups"
]
},
- "RuleNotification": {
- "type": "object",
- "properties": {
- "ruleState": {
- "$ref": "#/components/schemas/RuleState"
- },
- "campaignOptimizationId": {
- "$ref": "#/components/schemas/campaignOptimizationId"
- },
- "campaignId": {
- "$ref": "#/components/schemas/RuleCampaignId"
- },
- "notificationString": {
- "description": "Explains why the rule state is disabled",
- "type": "string"
- }
- }
- },
"SponsoredProductsCreateSponsoredProductsGlobalCampaignNegativeKeywordsRequestContent": {
"type": "object",
"properties": {
@@ -18280,27 +17408,6 @@
}
}
},
- "SPCampaignOptimizationRecommendationAPIResponse": {
- "type": "object",
- "properties": {
- "CampaignOptimizationRecommendations": {
- "maxItems": 100,
- "description": "List of successful campaign optimization recomendation for campaigns.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleRecommendation"
- }
- },
- "CampaignOptimizationRecommendationsError": {
- "maxItems": 100,
- "description": "List of errors that occured when generating campaign optimization recommendation.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleRecommendationError"
- }
- }
- }
- },
"AdGroupThemeBasedBidRecommendationRequest": {
"type": "object",
"properties": {
@@ -18689,22 +17796,6 @@
"budgetType"
]
},
- "CreateSPCampaignOptimizationRulesResponse": {
- "type": "object",
- "properties": {
- "campaignOptimizationId": {
- "$ref": "#/components/schemas/campaignOptimizationId"
- },
- "code": {
- "description": "An enumerated success or error code for machine use.",
- "type": "string"
- },
- "details": {
- "description": "A human-readable description of the error, if unsuccessful",
- "type": "string"
- }
- }
- },
"SponsoredProductsDraftCampaignNegativeKeywordAccessExceptionResponseContent": {
"description": "Exception resulting in accessing draft management entities",
"type": "object",
@@ -19008,45 +18099,6 @@
}
}
},
- "CampaignOptimizationRule": {
- "type": "object",
- "properties": {
- "recurrence": {
- "$ref": "#/components/schemas/RecurrenceType"
- },
- "ruleAction": {
- "$ref": "#/components/schemas/RuleAction"
- },
- "campaignOptimizationId": {
- "$ref": "#/components/schemas/campaignOptimizationId"
- },
- "createdDate": {
- "$ref": "#/components/schemas/RuleCreationDate"
- },
- "ruleCondition": {
- "$ref": "#/components/schemas/RuleConditionList"
- },
- "ruleType": {
- "$ref": "#/components/schemas/RuleType"
- },
- "ruleName": {
- "$ref": "#/components/schemas/RuleName"
- },
- "campaignIds": {
- "maxItems": 100,
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleCampaignId"
- }
- },
- "ruleStatus": {
- "$ref": "#/components/schemas/RuleStatus"
- }
- },
- "required": [
- "campaignOptimizationId"
- ]
- },
"SponsoredProductsCreateSponsoredProductsNegativeKeywordsResponseContent": {
"type": "object",
"properties": {
@@ -19094,22 +18146,6 @@
"adId"
]
},
- "UpdateSPCampaignOptimizationRuleResponse": {
- "type": "object",
- "properties": {
- "campaignOptimizationId": {
- "$ref": "#/components/schemas/campaignOptimizationId"
- },
- "code": {
- "description": "An enumerated success or error code for machine use.",
- "type": "string"
- },
- "details": {
- "description": "A human-readable description of the error, if unsuccessful",
- "type": "string"
- }
- }
- },
"SponsoredProductsDraftProductAdAccessError": {
"type": "object",
"properties": {
@@ -19126,17 +18162,6 @@
"errorValue"
]
},
- "RuleRecommendationMetrics": {
- "description": "Performance Metrics supported by the rule recommendation",
- "type": "object",
- "properties": {
- "roas": {
- "format": "double",
- "description": "return on ad spend value",
- "type": "number"
- }
- }
- },
"SponsoredProductsProductAdMutationErrorSelector": {
"type": "object",
"properties": {
@@ -20319,17 +19344,6 @@
"targetingClauses"
]
},
- "RuleRecommendation": {
- "type": "object",
- "properties": {
- "campaignId": {
- "$ref": "#/components/schemas/RuleCampaignId"
- },
- "performanceMetrics": {
- "$ref": "#/components/schemas/RuleRecommendationMetrics"
- }
- }
- },
"Genres": {
"description": "List of Genres. Use the GetRefinementsForCategory to retrieve Genre Node IDs. Genres are only available for categories related to books.",
"type": "array",
@@ -21035,10 +20049,6 @@
}
}
},
- "RuleCreationDate": {
- "description": "Time of campaign optimization rule creation in ISO 8061. Read-only.",
- "type": "string"
- },
"SponsoredProductsCreateSponsoredProductsDraftAdGroupsResponseContent": {
"type": "object",
"properties": {
@@ -21525,6 +20535,14 @@
"description": "The identifier of the keyword.",
"type": "string"
},
+ "nativeLanguageKeyword": {
+ "description": "The unlocalized keyword text in the preferred locale of the advertiser",
+ "type": "string"
+ },
+ "nativeLanguageLocale": {
+ "description": "The locale preference of the advertiser.",
+ "type": "string"
+ },
"campaignId": {
"description": "The identifier of the campaign to which the keyword is associated.",
"type": "string"
@@ -21732,27 +20750,6 @@
}
}
},
- "SPCampaignOptimizationNotificationAPIResponse": {
- "type": "object",
- "properties": {
- "CampaignOptimizationRecommendationsError": {
- "maxItems": 100,
- "description": "List of errors that occured when generating campaign optimization notifications.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleNotificationError"
- }
- },
- "CampaignOptimizationNotifications": {
- "maxItems": 100,
- "description": "List of successful campaign optimization notifications for campaigns.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleNotification"
- }
- }
- }
- },
"SponsoredProductsBiddingStrategy": {
"description": "The bidding strategy.\n| Value | Strategy name | Description |\n|----------------|---------------|-------------|\n| `LEGACY_FOR_SALES` | Dynamic bids - down only | Lowers your bids in real time when your ad may be less likely to convert to a sale. Campaigns created before the release of the bidding controls feature used this setting by default. |\n| `AUTO_FOR_SALES` | Dynamic bids - up and down | Increases or decreases your bids in real time by a maximum of 100%. With this setting bids increase when your ad is more likely to convert to a sale, and bids decrease when less likely to convert to a sale. |\n| `MANUAL` | Fixed bid | Uses your exact bid and any placement adjustments you set, and is not subject to dynamic bidding. |\n| `RULE_BASED` | Rule based bidding | See Rule based bidding documentation https://advertising.amazon.com/API/docs/en-us/sponsored-products/rule-based-bidding/overview |",
"type": "string",
@@ -22465,6 +21462,14 @@
"SponsoredProductsCreateDraftNegativeKeyword": {
"type": "object",
"properties": {
+ "nativeLanguageKeyword": {
+ "description": "The unlocalized keyword text in the preferred locale of the advertiser",
+ "type": "string"
+ },
+ "nativeLanguageLocale": {
+ "description": "The locale preference of the advertiser.",
+ "type": "string"
+ },
"campaignId": {
"description": "The identifer of the campaign to which the keyword is associated.",
"type": "string"
@@ -22564,22 +21569,6 @@
}
}
},
- "SPCampaignOptimizationRecommendationsAPIRequest": {
- "type": "object",
- "properties": {
- "campaignIds": {
- "maxItems": 100,
- "description": "A list of campaign ids",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RuleCampaignId"
- }
- }
- },
- "required": [
- "campaignIds"
- ]
- },
"SponsoredProductsCreateSponsoredProductsGlobalProductAdsRequestContent": {
"type": "object",
"properties": {
@@ -22969,27 +21958,6 @@
"campaignNegativeKeywords"
]
},
- "RuleCondition": {
- "type": "object",
- "properties": {
- "metricName": {
- "$ref": "#/components/schemas/RuleConditionMetric"
- },
- "comparisonOperator": {
- "$ref": "#/components/schemas/ComparisonOperator"
- },
- "threshold": {
- "format": "double",
- "description": "The performance threshold value.",
- "type": "number"
- }
- },
- "required": [
- "metricName",
- "threshold",
- "comparisonOperator"
- ]
- },
"SponsoredProductsGlobalBid": {
"type": "object",
"properties": {
@@ -23320,23 +22288,13 @@
}
},
"RecurrenceType": {
- "description": "The frequency of the rule application.",
+ "description": "depicts the type of recurrence",
"type": "string",
"enum": [
- "DAILY"
+ "DAILY",
+ "WEEKLY"
]
},
- "RuleNotificationError": {
- "type": "object",
- "properties": {
- "campaignId": {
- "$ref": "#/components/schemas/RuleCampaignId"
- },
- "Error": {
- "$ref": "#/components/schemas/CampaignOptimizationRuleError"
- }
- }
- },
"SponsoredProductsDeleteSponsoredProductsDraftNegativeTargetingClausesRequestContent": {
"type": "object",
"properties": {
@@ -23909,14 +22867,6 @@
}
}
},
- "RuleConditionMetric": {
- "description": "The advertising performance metric. ROAS is the only supported metric.",
- "type": "string",
- "enum": [
- "ROAS",
- "AVERAGE_BID"
- ]
- },
"KeywordTargetResponse": {
"allOf": [
{
@@ -23941,11 +22891,6 @@
}
}
},
- "campaignOptimizationId": {
- "description": "The persistent rule identifier.",
- "type": "string",
- "maxLength": 355
- },
"SponsoredProductsProductAdAccessErrorSelector": {
"type": "object",
"properties": {
@@ -24695,7 +23640,6 @@
"enum": [
"GREATER_THAN",
"LESS_THAN",
- "EQUAL_TO",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN_OR_EQUAL_TO"
]
@@ -24792,14 +23736,6 @@
}
}
},
- "GetSPCampaignOptimizationRuleResponse": {
- "type": "object",
- "properties": {
- "CampaignOptimizationRule": {
- "$ref": "#/components/schemas/CampaignOptimizationRule"
- }
- }
- },
"SPCampaignBudgetRule": {
"type": "object",
"required": [
diff --git a/src/apis/clients/sponsored-products-extra-client.ts b/src/apis/clients/sponsored-products-extra-client.ts
index af7f49c..e34316f 100644
--- a/src/apis/clients/sponsored-products-extra-client.ts
+++ b/src/apis/clients/sponsored-products-extra-client.ts
@@ -8,7 +8,7 @@
* Do not edit the class manually.
*/
-import { AdGroupsApi,BudgetRecommendationNewCampaignsApi,BudgetRecommendationsAndMissedOpportunitiesApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignNegativeKeywordsApi,CampaignNegativeTargetingClausesApi,CampaignOptimizationRulesApi,CampaignsApi,ConsolidatedRecommendationsApi,KeywordRecommendationsApi,KeywordsApi,NegativeKeywordsApi,NegativeTargetingClausesApi,ProductAdsApi,ProductRecommendationServiceApi,ProductTargetingApi,TargetingClausesApi,ThemeBasedBidRecommendationApi } from '../models/sponsored-products-extra';
+import { AdGroupsApi,BudgetRecommendationNewCampaignsApi,BudgetRecommendationsAndMissedOpportunitiesApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignNegativeKeywordsApi,CampaignNegativeTargetingClausesApi,CampaignsApi,ConsolidatedRecommendationsApi,KeywordTargetsApi,KeywordsApi,NegativeKeywordsApi,NegativeTargetingClausesApi,ProductAdsApi,ProductRecommendationServiceApi,ProductTargetingApi,TargetingClausesApi,ThemeBasedBidRecommendationApi } from '../models/sponsored-products-extra';
import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants';
import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers';
@@ -21,6 +21,6 @@ export class SponsoredProductsExtraClient extends AdGroupsApi {
}
- export interface SponsoredProductsExtraClient extends AdGroupsApi,BudgetRecommendationNewCampaignsApi,BudgetRecommendationsAndMissedOpportunitiesApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignNegativeKeywordsApi,CampaignNegativeTargetingClausesApi,CampaignOptimizationRulesApi,CampaignsApi,ConsolidatedRecommendationsApi,KeywordRecommendationsApi,KeywordsApi,NegativeKeywordsApi,NegativeTargetingClausesApi,ProductAdsApi,ProductRecommendationServiceApi,ProductTargetingApi,TargetingClausesApi,ThemeBasedBidRecommendationApi {}
- applyMixins(SponsoredProductsExtraClient, [AdGroupsApi,BudgetRecommendationNewCampaignsApi,BudgetRecommendationsAndMissedOpportunitiesApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignNegativeKeywordsApi,CampaignNegativeTargetingClausesApi,CampaignOptimizationRulesApi,CampaignsApi,ConsolidatedRecommendationsApi,KeywordRecommendationsApi,KeywordsApi,NegativeKeywordsApi,NegativeTargetingClausesApi,ProductAdsApi,ProductRecommendationServiceApi,ProductTargetingApi,TargetingClausesApi,ThemeBasedBidRecommendationApi])
+ export interface SponsoredProductsExtraClient extends AdGroupsApi,BudgetRecommendationNewCampaignsApi,BudgetRecommendationsAndMissedOpportunitiesApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignNegativeKeywordsApi,CampaignNegativeTargetingClausesApi,CampaignsApi,ConsolidatedRecommendationsApi,KeywordTargetsApi,KeywordsApi,NegativeKeywordsApi,NegativeTargetingClausesApi,ProductAdsApi,ProductRecommendationServiceApi,ProductTargetingApi,TargetingClausesApi,ThemeBasedBidRecommendationApi {}
+ applyMixins(SponsoredProductsExtraClient, [AdGroupsApi,BudgetRecommendationNewCampaignsApi,BudgetRecommendationsAndMissedOpportunitiesApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignNegativeKeywordsApi,CampaignNegativeTargetingClausesApi,CampaignsApi,ConsolidatedRecommendationsApi,KeywordTargetsApi,KeywordsApi,NegativeKeywordsApi,NegativeTargetingClausesApi,ProductAdsApi,ProductRecommendationServiceApi,ProductTargetingApi,TargetingClausesApi,ThemeBasedBidRecommendationApi])
diff --git a/src/apis/models/authorization-manager-account.ts b/src/apis/models/authorization-manager-account.ts
index d95e9bd..36fb732 100644
--- a/src/apis/models/authorization-manager-account.ts
+++ b/src/apis/models/authorization-manager-account.ts
@@ -327,8 +327,8 @@ export const ManagerAccountsApiAxiosParamCreator = function (configuration?: Con
};
},
/**
- * Returns all [Manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for all of the Amazon Advertising accounts that are linked to the Manager account.
- * @summary Returns all Manager accounts that a given Amazon Advertising user has access to.
+ * Returns all [manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for the Amazon Ads accounts that are linked to each manager account. NOTE: A maximum of 50 linked accounts are returned for each manager account.
+ * @summary Returns all manager accounts that a given Amazon Ads user has access to.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -480,8 +480,8 @@ export const ManagerAccountsApiFp = function(configuration?: Configuration) {
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
- * Returns all [Manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for all of the Amazon Advertising accounts that are linked to the Manager account.
- * @summary Returns all Manager accounts that a given Amazon Advertising user has access to.
+ * Returns all [manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for the Amazon Ads accounts that are linked to each manager account. NOTE: A maximum of 50 linked accounts are returned for each manager account.
+ * @summary Returns all manager accounts that a given Amazon Ads user has access to.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -538,8 +538,8 @@ export const ManagerAccountsApiFactory = function (configuration?: Configuration
return localVarFp.createManagerAccount(amazonAdvertisingAPIClientId, createManagerAccountRequest, options).then((request) => request(axios, basePath));
},
/**
- * Returns all [Manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for all of the Amazon Advertising accounts that are linked to the Manager account.
- * @summary Returns all Manager accounts that a given Amazon Advertising user has access to.
+ * Returns all [manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for the Amazon Ads accounts that are linked to each manager account. NOTE: A maximum of 50 linked accounts are returned for each manager account.
+ * @summary Returns all manager accounts that a given Amazon Ads user has access to.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -685,8 +685,8 @@ export class ManagerAccountsApi extends BaseAPI {
}
/**
- * Returns all [Manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for all of the Amazon Advertising accounts that are linked to the Manager account.
- * @summary Returns all Manager accounts that a given Amazon Advertising user has access to.
+ * Returns all [manager accounts](https://advertising.amazon.com/help?ref_=a20m_us_blog_whtsnewfb2020_040120#GU3YDB26FR7XT3C8) that a user has access to, along with metadata for the Amazon Ads accounts that are linked to each manager account. NOTE: A maximum of 50 linked accounts are returned for each manager account.
+ * @summary Returns all manager accounts that a given Amazon Ads user has access to.
* @param {ManagerAccountsApiGetManagerAccountsForUserRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
diff --git a/src/apis/models/common-audiences.ts b/src/apis/models/common-audiences.ts
index d5f6490..6d85530 100644
--- a/src/apis/models/common-audiences.ts
+++ b/src/apis/models/common-audiences.ts
@@ -154,7 +154,7 @@ export interface AudienceErrorV1 {
*/
export interface AudienceFilterV1 {
/**
- * Field to filter by. Supported enums are \'audienceName\', \'category\', \'categoryPath\' and \'audienceId\'. The \'category\' enum returns all audiences under a high-level category, whereas the \'categoryPath\' enum expects a path of nodes in the taxonomy tree and returns audiences attached directly to the node at the specified path.
+ * Field to filter by. Supported enums are \'audienceName\', \'category\', \'categoryPath\', \'audienceId\' and \'status\'. The \'category\' enum returns all audiences under a high-level category, whereas the \'categoryPath\' enum expects a path of nodes in the taxonomy tree and returns audiences attached directly to the node at the specified path.
* @type {string}
* @memberof AudienceFilterV1
*/
diff --git a/src/apis/models/common-billing.ts b/src/apis/models/common-billing.ts
index c3ddb72..d6e87ec 100644
--- a/src/apis/models/common-billing.ts
+++ b/src/apis/models/common-billing.ts
@@ -1004,7 +1004,7 @@ export interface InvoiceSummary {
* @type {string}
* @memberof InvoiceSummary
*/
- dueDate: string;
+ dueDate?: string;
/**
* Date in YYYYMMDD format
* @type {string}
@@ -1040,7 +1040,7 @@ export interface InvoiceSummary {
* @type {string}
* @memberof InvoiceSummary
*/
- purchaseOrderNumber: string;
+ purchaseOrderNumber?: string;
/**
*
* @type {string}
@@ -1052,7 +1052,7 @@ export interface InvoiceSummary {
* @type {PaymentMethod}
* @memberof InvoiceSummary
*/
- paymentMethod: PaymentMethod;
+ paymentMethod?: PaymentMethod;
/**
*
* @type {string}
diff --git a/src/apis/models/common-eligibility.ts b/src/apis/models/common-eligibility.ts
index 6739b1f..d7da8bb 100644
--- a/src/apis/models/common-eligibility.ts
+++ b/src/apis/models/common-eligibility.ts
@@ -328,7 +328,7 @@ export enum ProductResponseOverallStatusEnum {
}
/**
- * A request to evaluate account level eligibility for Amazon ad programs (Sponsored Products, Sponsored Brands, Sponsored Display, Stores, etc).
+ * A request to evaluate account level eligibility for Amazon ad programs (Sponsored Products, Sponsored Brands, Sponsored Display, Stores, DirectToConsumer, Amazon Attribution, etc).
* @export
* @interface ProgramEligibilityRequestContent
*/
@@ -347,7 +347,7 @@ export interface ProgramEligibilityRequestContent {
*/
export interface ProgramEligibilityResponseContent {
/**
- * This is a map that will be key\'d on the ad program (SB/SD); the value will be an eligibility object.
+ * This is a map that will be key\'d on the ad program (SB/SD/DTC/MAAS); the value will be an eligibility object.
* @type {{ [key: string]: EligibilityStatusDetail; }}
* @memberof ProgramEligibilityResponseContent
*/
diff --git a/src/apis/models/dsp-measurement.ts b/src/apis/models/dsp-measurement.ts
index 1ccfe36..880a835 100644
--- a/src/apis/models/dsp-measurement.ts
+++ b/src/apis/models/dsp-measurement.ts
@@ -297,6 +297,12 @@ export interface BaseStudyV1 {
* @memberof BaseStudyV1
*/
vendorProductId?: string;
+ /**
+ *
+ * @type {StudySubmissionTypeV1}
+ * @memberof BaseStudyV1
+ */
+ submissionType?: StudySubmissionTypeV1;
/**
* The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.
* @type {string}
@@ -1625,6 +1631,12 @@ export interface DSPBrandLiftStudyV1 {
* @memberof DSPBrandLiftStudyV1
*/
vendorProductId?: string;
+ /**
+ *
+ * @type {StudySubmissionTypeV1}
+ * @memberof DSPBrandLiftStudyV1
+ */
+ submissionType?: StudySubmissionTypeV1;
/**
* The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.
* @type {string}
@@ -2413,6 +2425,12 @@ export interface DSPOmnichannelMetricsStudyV1M2 {
* @memberof DSPOmnichannelMetricsStudyV1M2
*/
vendorProductId?: string;
+ /**
+ *
+ * @type {StudySubmissionTypeV1}
+ * @memberof DSPOmnichannelMetricsStudyV1M2
+ */
+ submissionType?: StudySubmissionTypeV1;
/**
* The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.
* @type {string}
@@ -6323,6 +6341,61 @@ export const MeasurementApiAxiosParamCreator = function (configuration?: Configu
options: localVarRequestOptions,
};
},
+ /**
+ * Get the download link and file type of the 3P vendor\'s study results in an easy to read and understand format which breaks down the effectiveness of an ad campaign. Returns a `200` response that includes an AWS S3 pre-signed URL where the curated study results file is located and the file type (format). The `OTHER` file type is returned when a new file type is added and is not supported in the current version of this API.For full support of the new file type, migrate to the latest version of this API when it is made available. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. **Requires one of these permissions**: []
+ * @summary Get the 3P vendor\'s curated result file.
+ * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
+ * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.
+ * @param {string} accept The version(s) of the requested resource. Available version(s) - `application/vnd.measurementresult.v1+json`.
+ * @param {string} studyId The canonical identifier that represents a unique study.
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ getCuratedStudyResult: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, accept: string, studyId: string, options: any = {}): Promise => {
+ // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
+ assertParamExists('getCuratedStudyResult', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
+ // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
+ assertParamExists('getCuratedStudyResult', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
+ // verify required parameter 'accept' is not null or undefined
+ assertParamExists('getCuratedStudyResult', 'accept', accept)
+ // verify required parameter 'studyId' is not null or undefined
+ assertParamExists('getCuratedStudyResult', 'studyId', studyId)
+ const localVarPath = `/measurement/studies/{studyId}/curatedResult/download`
+ .replace(`{${"studyId"}}`, encodeURIComponent(String(studyId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
+ localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
+ }
+
+ if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
+ localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
+ }
+
+ if (accept !== undefined && accept !== null) {
+ localVarHeaderParameter['Accept'] = String(accept);
+ }
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
* Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier. **Requires one of these permissions**: []
* @summary Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier.
@@ -7577,6 +7650,20 @@ export const MeasurementApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.createSurveys(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, surveyV1M1, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
+ /**
+ * Get the download link and file type of the 3P vendor\'s study results in an easy to read and understand format which breaks down the effectiveness of an ad campaign. Returns a `200` response that includes an AWS S3 pre-signed URL where the curated study results file is located and the file type (format). The `OTHER` file type is returned when a new file type is added and is not supported in the current version of this API.For full support of the new file type, migrate to the latest version of this API when it is made available. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. **Requires one of these permissions**: []
+ * @summary Get the 3P vendor\'s curated result file.
+ * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
+ * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.
+ * @param {string} accept The version(s) of the requested resource. Available version(s) - `application/vnd.measurementresult.v1+json`.
+ * @param {string} studyId The canonical identifier that represents a unique study.
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async getCuratedStudyResult(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, accept: string, studyId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getCuratedStudyResult(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, accept, studyId, options);
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+ },
/**
* Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier. **Requires one of these permissions**: []
* @summary Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier.
@@ -8009,6 +8096,19 @@ export const MeasurementApiFactory = function (configuration?: Configuration, ba
createSurveys(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, surveyV1M1?: Array, options?: any): AxiosPromise {
return localVarFp.createSurveys(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, surveyV1M1, options).then((request) => request(axios, basePath));
},
+ /**
+ * Get the download link and file type of the 3P vendor\'s study results in an easy to read and understand format which breaks down the effectiveness of an ad campaign. Returns a `200` response that includes an AWS S3 pre-signed URL where the curated study results file is located and the file type (format). The `OTHER` file type is returned when a new file type is added and is not supported in the current version of this API.For full support of the new file type, migrate to the latest version of this API when it is made available. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. **Requires one of these permissions**: []
+ * @summary Get the 3P vendor\'s curated result file.
+ * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
+ * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.
+ * @param {string} accept The version(s) of the requested resource. Available version(s) - `application/vnd.measurementresult.v1+json`.
+ * @param {string} studyId The canonical identifier that represents a unique study.
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ getCuratedStudyResult(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, accept: string, studyId: string, options?: any): AxiosPromise {
+ return localVarFp.getCuratedStudyResult(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, accept, studyId, options).then((request) => request(axios, basePath));
+ },
/**
* Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier. **Requires one of these permissions**: []
* @summary Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier.
@@ -8651,6 +8751,41 @@ export interface MeasurementApiCreateSurveysRequest {
readonly surveyV1M1?: Array
}
+/**
+ * Request parameters for getCuratedStudyResult operation in MeasurementApi.
+ * @export
+ * @interface MeasurementApiGetCuratedStudyResultRequest
+ */
+export interface MeasurementApiGetCuratedStudyResultRequest {
+ /**
+ * The identifier of a client associated with a \"Login with Amazon\" account.
+ * @type {string}
+ * @memberof MeasurementApiGetCuratedStudyResult
+ */
+ readonly amazonAdvertisingAPIClientId: string
+
+ /**
+ * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.
+ * @type {string}
+ * @memberof MeasurementApiGetCuratedStudyResult
+ */
+ readonly amazonAdvertisingAPIScope: string
+
+ /**
+ * The version(s) of the requested resource. Available version(s) - `application/vnd.measurementresult.v1+json`.
+ * @type {string}
+ * @memberof MeasurementApiGetCuratedStudyResult
+ */
+ readonly accept: string
+
+ /**
+ * The canonical identifier that represents a unique study.
+ * @type {string}
+ * @memberof MeasurementApiGetCuratedStudyResult
+ */
+ readonly studyId: string
+}
+
/**
* Request parameters for getDSPAudienceResearchStudies operation in MeasurementApi.
* @export
@@ -9553,6 +9688,18 @@ export class MeasurementApi extends BaseAPI {
return MeasurementApiFp(this.configuration).createSurveys(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.surveyV1M1, options).then((request) => request(this.axios, this.basePath));
}
+ /**
+ * Get the download link and file type of the 3P vendor\'s study results in an easy to read and understand format which breaks down the effectiveness of an ad campaign. Returns a `200` response that includes an AWS S3 pre-signed URL where the curated study results file is located and the file type (format). The `OTHER` file type is returned when a new file type is added and is not supported in the current version of this API.For full support of the new file type, migrate to the latest version of this API when it is made available. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. **Requires one of these permissions**: []
+ * @summary Get the 3P vendor\'s curated result file.
+ * @param {MeasurementApiGetCuratedStudyResultRequest} requestParameters Request parameters.
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof MeasurementApi
+ */
+ public getCuratedStudyResult(requestParameters: MeasurementApiGetCuratedStudyResultRequest, options?: any) {
+ return MeasurementApiFp(this.configuration).getCuratedStudyResult(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.accept, requestParameters.studyId, options).then((request) => request(this.axios, this.basePath));
+ }
+
/**
* Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier. **Requires one of these permissions**: []
* @summary Gets one or more DSP AUDIENCE_RESEARCH studies with requested study identifiers or an advertiser identifier.
diff --git a/src/apis/models/dsp.ts b/src/apis/models/dsp.ts
index e325628..d434ca9 100644
--- a/src/apis/models/dsp.ts
+++ b/src/apis/models/dsp.ts
@@ -639,6 +639,17 @@ export interface Bidding {
*/
maxSupplyBid?: number;
}
+/**
+ * It specifies how Amazon Advertising determines bids on your behalf for each opportunity to serve an impression. It is immutable once the order has started delivering.
+ * @export
+ * @enum {string}
+ */
+
+export enum BiddingStrategy {
+ SpendBudgetInFull = 'SPEND_BUDGET_IN_FULL',
+ MaximizePerformance = 'MAXIMIZE_PERFORMANCE'
+}
+
/**
* The Double Verify brand suitability risk level.
* @export
@@ -4018,6 +4029,44 @@ export interface GoalConfigurationAvailableKpis {
*/
autoOptimizations?: Array;
}
+/**
+ *
+ * @export
+ * @interface GoalConfigurationV1
+ */
+export interface GoalConfigurationV1 {
+ /**
+ *
+ * @type {GoalV1}
+ * @memberof GoalConfigurationV1
+ */
+ goalName?: GoalV1;
+ /**
+ *
+ * @type {Array}
+ * @memberof GoalConfigurationV1
+ */
+ availableKpis?: Array;
+}
+/**
+ *
+ * @export
+ * @interface GoalConfigurationV1AvailableKpis
+ */
+export interface GoalConfigurationV1AvailableKpis {
+ /**
+ *
+ * @type {GoalKpiV1}
+ * @memberof GoalConfigurationV1AvailableKpis
+ */
+ kpiName?: GoalKpiV1;
+ /**
+ * Which optimizations can be applied for this KPI
+ * @type {Array}
+ * @memberof GoalConfigurationV1AvailableKpis
+ */
+ autoOptimizations?: Array;
+}
/**
* Performance metrics that may be chosen to measure how effectively an order is achieving the desired goal. Although some goals may have multiple possible KPIs, exactly one KPI must be chosen during order creation.
* @export
@@ -4040,6 +4089,20 @@ export enum GoalKpi {
VideoCompletionRate = 'VIDEO_COMPLETION_RATE'
}
+/**
+ * Performance metrics that may be chosen to measure how effectively an order is achieving the desired goal. Although some goals may have multiple possible KPIs, exactly one KPI must be chosen during order creation. COMBINED_RETURN_ON_AD_SPEND is available since application/vnd.goalconfigurations.v1+json.
+ * @export
+ * @interface GoalKpiV1
+ */
+export interface GoalKpiV1 {
+}
+/**
+ * The primary goal that a campaign using this configuration is trying to achieve. PURCHASES_ON_OFF_AMAZON is available since application/vnd.goalconfigurations.v1+json.
+ * @export
+ * @interface GoalV1
+ */
+export interface GoalV1 {
+}
/**
*
* @export
@@ -4351,10 +4414,10 @@ export interface InlineResponse2004 {
export interface InlineResponse2005 {
/**
* Array of GoalConfiguration sorted by goal name in ascending lexicographical order.
- * @type {Array}
+ * @type {Array}
* @memberof InlineResponse2005
*/
- goalConfigurations?: Array;
+ goalConfigurations?: Array;
}
/**
* Integral Ad Science (IAS) is a third party provider in digital ad verification. IAS offers technologies to drive high-quality advertising media.
@@ -6076,6 +6139,57 @@ export interface OdcStandardPredicts {
*/
standardPredicts?: Array;
}
+/**
+ * The budget optimization goal type.
+ * @export
+ * @enum {string}
+ */
+
+export enum OptimizationGoal {
+ Awareness = 'AWARENESS',
+ EngagementWithMyAd = 'ENGAGEMENT_WITH_MY_AD',
+ ConsiderationsOnAmazon = 'CONSIDERATIONS_ON_AMAZON',
+ ConversionsOffAmazon = 'CONVERSIONS_OFF_AMAZON',
+ PurchasesOnAmazon = 'PURCHASES_ON_AMAZON',
+ MobileAppInstalls = 'MOBILE_APP_INSTALLS'
+}
+
+/**
+ * KPI for the selected goal.
+ * @export
+ * @enum {string}
+ */
+
+export enum OptimizationGoalKpi {
+ VideoCompletionRate = 'VIDEO_COMPLETION_RATE',
+ ClickThroughRate = 'CLICK_THROUGH_RATE',
+ CostPerClick = 'COST_PER_CLICK',
+ CostPerAcquisition = 'COST_PER_ACQUISITION',
+ CostPerDownload = 'COST_PER_DOWNLOAD',
+ DetailPageViewRate = 'DETAIL_PAGE_VIEW_RATE',
+ CostPerDetailPageView = 'COST_PER_DETAIL_PAGE_VIEW',
+ ReturnOnAdSpend = 'RETURN_ON_AD_SPEND',
+ TotalReturnOnAdSpend = 'TOTAL_RETURN_ON_AD_SPEND',
+ CostPerVideoCompletion = 'COST_PER_VIDEO_COMPLETION',
+ None = 'NONE',
+ Other = 'OTHER',
+ Reach = 'REACH'
+}
+
+/**
+ * KPI for the selected goal. COMBINED_RETURN_ON_AD_SPEND is available since application/vnd.dsporders.v2.3+json.
+ * @export
+ * @interface OptimizationGoalKpiV23
+ */
+export interface OptimizationGoalKpiV23 {
+}
+/**
+ * The budget optimization goal type. PURCHASES_ON_OFF_AMAZON is available since application/vnd.dsporders.v2.3+json.
+ * @export
+ * @interface OptimizationGoalV23
+ */
+export interface OptimizationGoalV23 {
+}
/**
* Oracle Data Cloud is a third party provider in digital ad verification. Oracle Data Cloud offers technologies to drive high-quality advertising media.
* @export
@@ -6649,6 +6763,109 @@ export interface OrderBasicV22 {
*/
optimization?: OrderOptimization;
}
+/**
+ * This model is designed to support batch get operation for better performance.
+ * @export
+ * @interface OrderBasicV23
+ */
+export interface OrderBasicV23 {
+ /**
+ * The order identifier.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ orderId?: string;
+ /**
+ * The advertiser identifier.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ advertiserId?: string;
+ /**
+ * The order name.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ name?: string;
+ /**
+ * The order external identifier, also known as purchase order number (PO number). This field is required if \"Mandatory PO numbers\" is set at the entity level. \"N/A\" (not applicable) is a valid value. This field will be deprecated and renamed to poNumber in a future release.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ externalId?: string;
+ /**
+ * The order comments.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ comments?: string;
+ /**
+ * The order start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ startDateTime?: string;
+ /**
+ * The order end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ endDateTime?: string;
+ /**
+ *
+ * @type {OrderBudgetBasic}
+ * @memberof OrderBasicV23
+ */
+ budget?: OrderBudgetBasic;
+ /**
+ *
+ * @type {AgencyFee}
+ * @memberof OrderBasicV23
+ */
+ agencyFee?: AgencyFee;
+ /**
+ *
+ * @type {CurrencyCodeV3}
+ * @memberof OrderBasicV23
+ */
+ currencyCode?: CurrencyCodeV3;
+ /**
+ *
+ * @type {DeliveryActivationStatus}
+ * @memberof OrderBasicV23
+ */
+ deliveryActivationStatus?: DeliveryActivationStatus;
+ /**
+ *
+ * @type {OrderDeliveryStatus}
+ * @memberof OrderBasicV23
+ */
+ deliveryStatus?: OrderDeliveryStatus;
+ /**
+ *
+ * @type {FrequencyCap}
+ * @memberof OrderBasicV23
+ */
+ frequencyCap?: FrequencyCap;
+ /**
+ *
+ * @type {OrderOptimizationV23}
+ * @memberof OrderBasicV23
+ */
+ optimization?: OrderOptimizationV23;
+ /**
+ * The order creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00. This field is available since version `application/vnd.dsporders.v2.1+json`.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ creationDate?: string;
+ /**
+ * The order last update date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00. This field is available since version `application/vnd.dsporders.v2.1+json`.
+ * @type {string}
+ * @memberof OrderBasicV23
+ */
+ lastUpdatedDate?: string;
+}
/**
*
* @export
@@ -6771,23 +6988,23 @@ export interface OrderFlight {
*/
export interface OrderOptimization {
/**
- * The product location indicates whether the product is endemic or non-endemic.
- * @type {string}
+ *
+ * @type {ProductLocation}
* @memberof OrderOptimization
*/
- productLocation: OrderOptimizationProductLocationEnum;
+ productLocation: ProductLocation;
/**
- * The budget optimization goal type.
- * @type {string}
+ *
+ * @type {OptimizationGoal}
* @memberof OrderOptimization
*/
- goal: OrderOptimizationGoalEnum;
+ goal: OptimizationGoal;
/**
- * KPI for the selected goal.
- * @type {string}
+ *
+ * @type {OptimizationGoalKpi}
* @memberof OrderOptimization
*/
- goalKpi: OrderOptimizationGoalKpiEnum;
+ goalKpi: OptimizationGoalKpi;
/**
* The list of optimizations supported.
* @type {Array}
@@ -6795,68 +7012,68 @@ export interface OrderOptimization {
*/
autoOptimizations?: Array;
/**
- * It specifies how Amazon Ads determines bids on your behalf for each opportunity to serve an impression. It is immutable once the order has started delivering.
- * @type {string}
+ *
+ * @type {BiddingStrategy}
* @memberof OrderOptimization
*/
- biddingStrategy?: OrderOptimizationBiddingStrategyEnum;
+ biddingStrategy?: BiddingStrategy;
}
/**
* @export
* @enum {string}
*/
-export enum OrderOptimizationProductLocationEnum {
- SoldOnAmazon = 'SOLD_ON_AMAZON',
- NotSoldOnAmazon = 'NOT_SOLD_ON_AMAZON'
-}
-/**
- * @export
- * @enum {string}
- */
-export enum OrderOptimizationGoalEnum {
- Awareness = 'AWARENESS',
- EngagementWithMyAd = 'ENGAGEMENT_WITH_MY_AD',
- ConsiderationsOnAmazon = 'CONSIDERATIONS_ON_AMAZON',
- ConversionsOffAmazon = 'CONVERSIONS_OFF_AMAZON',
- PurchasesOnAmazon = 'PURCHASES_ON_AMAZON',
- MobileAppInstalls = 'MOBILE_APP_INSTALLS'
+export enum OrderOptimizationAutoOptimizationsEnum {
+ Budget = 'BUDGET',
+ Bid = 'BID'
}
+
/**
- * @export
- * @enum {string}
- */
-export enum OrderOptimizationGoalKpiEnum {
- VideoCompletionRate = 'VIDEO_COMPLETION_RATE',
- ClickThroughRate = 'CLICK_THROUGH_RATE',
- CostPerClick = 'COST_PER_CLICK',
- CostPerAcquisition = 'COST_PER_ACQUISITION',
- CostPerDownload = 'COST_PER_DOWNLOAD',
- DetailPageViewRate = 'DETAIL_PAGE_VIEW_RATE',
- CostPerDetailPageView = 'COST_PER_DETAIL_PAGE_VIEW',
- ReturnOnAdSpend = 'RETURN_ON_AD_SPEND',
- TotalReturnOnAdSpend = 'TOTAL_RETURN_ON_AD_SPEND',
- CostPerVideoCompletion = 'COST_PER_VIDEO_COMPLETION',
- None = 'NONE',
- Other = 'OTHER',
- Reach = 'REACH'
+ *
+ * @export
+ * @interface OrderOptimizationV23
+ */
+export interface OrderOptimizationV23 {
+ /**
+ *
+ * @type {ProductLocation}
+ * @memberof OrderOptimizationV23
+ */
+ productLocation: ProductLocation;
+ /**
+ *
+ * @type {OptimizationGoalV23}
+ * @memberof OrderOptimizationV23
+ */
+ goal: OptimizationGoalV23;
+ /**
+ *
+ * @type {OptimizationGoalKpiV23}
+ * @memberof OrderOptimizationV23
+ */
+ goalKpi: OptimizationGoalKpiV23;
+ /**
+ * The list of optimizations supported.
+ * @type {Array}
+ * @memberof OrderOptimizationV23
+ */
+ autoOptimizations?: Array;
+ /**
+ *
+ * @type {BiddingStrategy}
+ * @memberof OrderOptimizationV23
+ */
+ biddingStrategy?: BiddingStrategy;
}
+
/**
* @export
* @enum {string}
*/
-export enum OrderOptimizationAutoOptimizationsEnum {
+export enum OrderOptimizationV23AutoOptimizationsEnum {
Budget = 'BUDGET',
Bid = 'BID'
}
-/**
- * @export
- * @enum {string}
- */
-export enum OrderOptimizationBiddingStrategyEnum {
- SpendBudgetInFull = 'SPEND_BUDGET_IN_FULL',
- MaximizePerformance = 'MAXIMIZE_PERFORMANCE'
-}
/**
* Response for the order create/update operations. If operation is successful, it contains only orderId. If it is a failure, it contains only errorDetails. success and failure will be corresponding to that requested index in that batch (array of items).
@@ -6980,6 +7197,109 @@ export interface OrderV22 {
*/
lastUpdatedDate?: string;
}
+/**
+ * Complete order model which willl be used for create/update and get.
+ * @export
+ * @interface OrderV23
+ */
+export interface OrderV23 {
+ /**
+ * The order identifier. It will be used to perform update operation. Immutable field.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ orderId?: string;
+ /**
+ * The advertiser identifier. Immutable field.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ advertiserId: string;
+ /**
+ * The order name.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ name: string;
+ /**
+ * The order external identifier, also known as purchase order number (PO number). This field is required if \"Mandatory PO numbers\" is set at the entity level. `N/A` (not applicable) is a valid value. This field will be deprecated and renamed to `poNumber` in a future release.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ externalId?: string;
+ /**
+ * The order comments.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ comments?: string;
+ /**
+ * The order start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC. The start date has to be modeled as a part of flights object.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ startDateTime?: string;
+ /**
+ * The order end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00 UTC. The end date has to be modeled as a part of flights object.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ endDateTime?: string;
+ /**
+ *
+ * @type {OrderBudget}
+ * @memberof OrderV23
+ */
+ budget: OrderBudget;
+ /**
+ *
+ * @type {CurrencyCodeV3}
+ * @memberof OrderV23
+ */
+ currencyCode?: CurrencyCodeV3;
+ /**
+ *
+ * @type {AgencyFee}
+ * @memberof OrderV23
+ */
+ agencyFee?: AgencyFee;
+ /**
+ *
+ * @type {FrequencyCap}
+ * @memberof OrderV23
+ */
+ frequencyCap: FrequencyCap;
+ /**
+ *
+ * @type {OrderOptimizationV23}
+ * @memberof OrderV23
+ */
+ optimization: OrderOptimizationV23;
+ /**
+ *
+ * @type {DeliveryActivationStatus}
+ * @memberof OrderV23
+ */
+ deliveryActivationStatus?: DeliveryActivationStatus;
+ /**
+ *
+ * @type {OrderDeliveryStatus}
+ * @memberof OrderV23
+ */
+ deliveryStatus?: OrderDeliveryStatus;
+ /**
+ * The order creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ creationDate?: string;
+ /**
+ * The order last update date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-12-16T19:20:30+01:00.
+ * @type {string}
+ * @memberof OrderV23
+ */
+ lastUpdatedDate?: string;
+}
/**
*
* @export
@@ -7037,6 +7357,25 @@ export interface OrdersV22 {
*/
response?: Array;
}
+/**
+ *
+ * @export
+ * @interface OrdersV23
+ */
+export interface OrdersV23 {
+ /**
+ * Total number of results which satisfy the filtering criteria. This will help to support pagination.
+ * @type {number}
+ * @memberof OrdersV23
+ */
+ totalResults?: number;
+ /**
+ *
+ * @type {Array}
+ * @memberof OrdersV23
+ */
+ response?: Array;
+}
/**
*
* @export
@@ -7274,6 +7613,17 @@ export interface ProductCategory {
*/
parentId?: string;
}
+/**
+ * The product location indicates whether the product is endemic or non-endemic.
+ * @export
+ * @enum {string}
+ */
+
+export enum ProductLocation {
+ SoldOnAmazon = 'SOLD_ON_AMAZON',
+ NotSoldOnAmazon = 'NOT_SOLD_ON_AMAZON'
+}
+
/**
*
* @export
@@ -13186,11 +13536,11 @@ export const OrderApiAxiosParamCreator = function (configuration?: Configuration
* @summary Create an order.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input. For DSP profiles, the `type` field of the `accountInfo` object must be set to `agency` and the `subType` field must not be `AMAZON_ATTRIBUTION`.
- * @param {Array} [orderV22] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
+ * @param {Array} [orderV23] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- createOrders: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV22?: Array, options: any = {}): Promise => {
+ createOrders: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV23?: Array, options: any = {}): Promise => {
// verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
assertParamExists('createOrders', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
// verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
@@ -13217,12 +13567,12 @@ export const OrderApiAxiosParamCreator = function (configuration?: Configuration
- localVarHeaderParameter['Content-Type'] = 'application/vnd.dsporders.v2.2+json';
+ localVarHeaderParameter['Content-Type'] = 'application/vnd.dsporders.v2.3+json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
- localVarRequestOptions.data = serializeDataIfNeeded(orderV22, localVarRequestOptions, configuration)
+ localVarRequestOptions.data = serializeDataIfNeeded(orderV23, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
@@ -13702,11 +14052,11 @@ export const OrderApiAxiosParamCreator = function (configuration?: Configuration
* @summary Update an order.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input. For DSP profiles, the `type` field of the `accountInfo` object must be set to `agency` and the `subType` field must not be `AMAZON_ATTRIBUTION`.
- * @param {Array} [orderV22] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
+ * @param {Array} [orderV23] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- updateOrders: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV22?: Array, options: any = {}): Promise => {
+ updateOrders: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV23?: Array, options: any = {}): Promise => {
// verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
assertParamExists('updateOrders', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
// verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
@@ -13733,12 +14083,12 @@ export const OrderApiAxiosParamCreator = function (configuration?: Configuration
- localVarHeaderParameter['Content-Type'] = 'application/vnd.dsporders.v2.2+json';
+ localVarHeaderParameter['Content-Type'] = 'application/vnd.dsporders.v2.3+json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
- localVarRequestOptions.data = serializeDataIfNeeded(orderV22, localVarRequestOptions, configuration)
+ localVarRequestOptions.data = serializeDataIfNeeded(orderV23, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
@@ -13812,12 +14162,12 @@ export const OrderApiFp = function(configuration?: Configuration) {
* @summary Create an order.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input. For DSP profiles, the `type` field of the `accountInfo` object must be set to `agency` and the `subType` field must not be `AMAZON_ATTRIBUTION`.
- * @param {Array} [orderV22] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
+ * @param {Array} [orderV23] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async createOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV22?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.createOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV22, options);
+ async createOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV23?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.createOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV23, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
@@ -13869,7 +14219,7 @@ export const OrderApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async getOrder(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ async getOrder(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getOrder(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderId, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@@ -13886,7 +14236,7 @@ export const OrderApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async getOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, startIndex?: string, count?: string, statusFilter?: string, orderIdFilter?: string, advertiserIdFilter?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ async getOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, startIndex?: string, count?: string, statusFilter?: string, orderIdFilter?: string, advertiserIdFilter?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, startIndex, count, statusFilter, orderIdFilter, advertiserIdFilter, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@@ -13949,12 +14299,12 @@ export const OrderApiFp = function(configuration?: Configuration) {
* @summary Update an order.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input. For DSP profiles, the `type` field of the `accountInfo` object must be set to `agency` and the `subType` field must not be `AMAZON_ATTRIBUTION`.
- * @param {Array} [orderV22] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
+ * @param {Array} [orderV23] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async updateOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV22?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.updateOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV22, options);
+ async updateOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV23?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.updateOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV23, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
@@ -13986,12 +14336,12 @@ export const OrderApiFactory = function (configuration?: Configuration, basePath
* @summary Create an order.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input. For DSP profiles, the `type` field of the `accountInfo` object must be set to `agency` and the `subType` field must not be `AMAZON_ATTRIBUTION`.
- * @param {Array} [orderV22] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
+ * @param {Array} [orderV23] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- createOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV22?: Array, options?: any): AxiosPromise> {
- return localVarFp.createOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV22, options).then((request) => request(axios, basePath));
+ createOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV23?: Array, options?: any): AxiosPromise> {
+ return localVarFp.createOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV23, options).then((request) => request(axios, basePath));
},
/**
* Add or remove conversion tracking products from the order. It can be updated by either providing values for productList or productFile field. For productList, up to 2,000 ProductTrackingItems can be added, including up to 20 ProductTrackingItems per domain if FEATURED_WITH_VARIATIONS is specified in productAssociation. For productFile, up to 50,000 Products can be used. Check out our tutorial for more details.
@@ -14039,7 +14389,7 @@ export const OrderApiFactory = function (configuration?: Configuration, basePath
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- getOrder(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderId: string, options?: any): AxiosPromise {
+ getOrder(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderId: string, options?: any): AxiosPromise {
return localVarFp.getOrder(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderId, options).then((request) => request(axios, basePath));
},
/**
@@ -14055,7 +14405,7 @@ export const OrderApiFactory = function (configuration?: Configuration, basePath
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- getOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, startIndex?: string, count?: string, statusFilter?: string, orderIdFilter?: string, advertiserIdFilter?: string, options?: any): AxiosPromise {
+ getOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, startIndex?: string, count?: string, statusFilter?: string, orderIdFilter?: string, advertiserIdFilter?: string, options?: any): AxiosPromise {
return localVarFp.getOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, startIndex, count, statusFilter, orderIdFilter, advertiserIdFilter, options).then((request) => request(axios, basePath));
},
/**
@@ -14113,12 +14463,12 @@ export const OrderApiFactory = function (configuration?: Configuration, basePath
* @summary Update an order.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input. For DSP profiles, the `type` field of the `accountInfo` object must be set to `agency` and the `subType` field must not be `AMAZON_ATTRIBUTION`.
- * @param {Array} [orderV22] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
+ * @param {Array} [orderV23] An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- updateOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV22?: Array, options?: any): AxiosPromise> {
- return localVarFp.updateOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV22, options).then((request) => request(axios, basePath));
+ updateOrders(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, orderV23?: Array, options?: any): AxiosPromise> {
+ return localVarFp.updateOrders(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, orderV23, options).then((request) => request(axios, basePath));
},
/**
* Add or remove conversion tracking pixels from the order. The maximum size of pixel list is 100.
@@ -14158,10 +14508,10 @@ export interface OrderApiCreateOrdersRequest {
/**
* An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
- * @type {Array}
+ * @type {Array}
* @memberof OrderApiCreateOrders
*/
- readonly orderV22?: Array
+ readonly orderV23?: Array
}
/**
@@ -14487,10 +14837,10 @@ export interface OrderApiUpdateOrdersRequest {
/**
* An array of order objects. For each object, specify required fields and their values. Maximum length of the array is 1.
- * @type {Array}
+ * @type {Array}
* @memberof OrderApiUpdateOrders
*/
- readonly orderV22?: Array
+ readonly orderV23?: Array
}
/**
@@ -14544,7 +14894,7 @@ export class OrderApi extends BaseAPI {
* @memberof OrderApi
*/
public createOrders(requestParameters: OrderApiCreateOrdersRequest, options?: any) {
- return OrderApiFp(this.configuration).createOrders(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.orderV22, options).then((request) => request(this.axios, this.basePath));
+ return OrderApiFp(this.configuration).createOrders(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.orderV23, options).then((request) => request(this.axios, this.basePath));
}
/**
@@ -14664,7 +15014,7 @@ export class OrderApi extends BaseAPI {
* @memberof OrderApi
*/
public updateOrders(requestParameters: OrderApiUpdateOrdersRequest, options?: any) {
- return OrderApiFp(this.configuration).updateOrders(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.orderV22, options).then((request) => request(this.axios, this.basePath));
+ return OrderApiFp(this.configuration).updateOrders(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.orderV23, options).then((request) => request(this.axios, this.basePath));
}
/**
diff --git a/src/apis/models/sponsored-brands-extra.ts b/src/apis/models/sponsored-brands-extra.ts
index 03a604b..d20f9f1 100644
--- a/src/apis/models/sponsored-brands-extra.ts
+++ b/src/apis/models/sponsored-brands-extra.ts
@@ -68,11 +68,11 @@ export interface AccessDeniedExceptionResponseContent {
*/
export interface Ad {
/**
- * The ad identifier.
+ * The ad identifier. Note: Ads created using version 3/non-multi ad group campaigns do not have an associated adId. [Learn more](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/campaigns/managing-multi-ad-group-campaigns#ads).
* @type {string}
* @memberof Ad
*/
- adId: string;
+ adId?: string;
/**
* The campaign identifier.
* @type {string}
@@ -86,11 +86,11 @@ export interface Ad {
*/
landingPage?: LandingPage;
/**
- * The name of the ad.
+ * The name of the ad. Note: Ads created using version 3/non-multi ad group campaigns do not have an associated name. [Learn more](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/campaigns/managing-multi-ad-group-campaigns#ads).
* @type {string}
* @memberof Ad
*/
- name: string;
+ name?: string;
/**
*
* @type {EntityState}
@@ -459,10 +459,10 @@ export interface AdSuccessResponseItem {
adId?: string;
/**
*
- * @type {Ad}
+ * @type {MultiAdGroupAd}
* @memberof AdSuccessResponseItem
*/
- ad?: Ad;
+ ad?: MultiAdGroupAd;
/**
* The index in the original list from the request.
* @type {number}
@@ -2033,6 +2033,44 @@ export interface CreateCampaign {
*/
tags?: { [key: string]: string; };
}
+/**
+ *
+ * @export
+ * @interface CreateExtendedProductCollectionCreativeRequestContent
+ */
+export interface CreateExtendedProductCollectionCreativeRequestContent {
+ /**
+ * The unique ID of a Sponsored Brands ad.
+ * @type {string}
+ * @memberof CreateExtendedProductCollectionCreativeRequestContent
+ */
+ adId: string;
+ /**
+ *
+ * @type {ExtendedProductCollectionCreative}
+ * @memberof CreateExtendedProductCollectionCreativeRequestContent
+ */
+ creative: ExtendedProductCollectionCreative;
+}
+/**
+ * Create creative response
+ * @export
+ * @interface CreateExtendedProductCollectionCreativeResponseContent
+ */
+export interface CreateExtendedProductCollectionCreativeResponseContent {
+ /**
+ * The unique ID of a Sponsored Brands ad.
+ * @type {string}
+ * @memberof CreateExtendedProductCollectionCreativeResponseContent
+ */
+ adId?: string;
+ /**
+ * The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.
+ * @type {string}
+ * @memberof CreateExtendedProductCollectionCreativeResponseContent
+ */
+ creativeVersion?: string;
+}
/**
* Entity state for create or update operation.
* @export
@@ -2696,8 +2734,13 @@ export interface CreativeLandingPage {
export enum CreativeLandingPageType {
ProductList = 'PRODUCT_LIST',
Store = 'STORE',
+ DetailPage = 'DETAIL_PAGE',
CustomUrl = 'CUSTOM_URL',
- DetailPage = 'DETAIL_PAGE'
+ AdLandingPreview = 'AD_LANDING_PREVIEW',
+ Search = 'SEARCH',
+ Browse = 'BROWSE',
+ AdvertisingLandingPage = 'ADVERTISING_LANDING_PAGE',
+ Unknown = 'UNKNOWN'
}
/**
@@ -2706,24 +2749,12 @@ export enum CreativeLandingPageType {
* @interface CreativeProperties
*/
export interface CreativeProperties {
- /**
- * A list of ASINs
- * @type {Array}
- * @memberof CreativeProperties
- */
- asins?: Array;
/**
*
* @type {AssetCrop}
* @memberof CreativeProperties
*/
brandLogoCrop?: AssetCrop;
- /**
- *
- * @type {string}
- * @memberof CreativeProperties
- */
- brandLogoUrl?: string;
/**
* The displayed brand name in the ad headline. Maximum length is 30 characters. See [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.
* @type {string}
@@ -2736,18 +2767,18 @@ export interface CreativeProperties {
* @memberof CreativeProperties
*/
customImageAssetId?: string;
- /**
- * An array of subpages
- * @type {Array}
- * @memberof CreativeProperties
- */
- subpages?: Array;
/**
*
* @type {CreativeLandingPage}
* @memberof CreativeProperties
*/
landingPage?: CreativeLandingPage;
+ /**
+ * An array of customImages associated with the creative.
+ * @type {Array}
+ * @memberof CreativeProperties
+ */
+ customImages?: Array;
/**
*
* @type {AssetCrop}
@@ -2760,6 +2791,24 @@ export interface CreativeProperties {
* @memberof CreativeProperties
*/
customImageUrl?: string;
+ /**
+ * A list of ASINs
+ * @type {Array}
+ * @memberof CreativeProperties
+ */
+ asins?: Array;
+ /**
+ *
+ * @type {string}
+ * @memberof CreativeProperties
+ */
+ brandLogoUrl?: string;
+ /**
+ * An array of subpages
+ * @type {Array}
+ * @memberof CreativeProperties
+ */
+ subpages?: Array;
/**
* An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API.
* @type {Array}
@@ -3000,6 +3049,31 @@ export enum CreativeType {
BrandVideo = 'BRAND_VIDEO'
}
+/**
+ * Custom Image
+ * @export
+ * @interface CustomImage
+ */
+export interface CustomImage {
+ /**
+ * The identifier of the Custom image from the Store assets library. See [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#customimage) for more information on what constitutes a valid Custom image.
+ * @type {string}
+ * @memberof CustomImage
+ */
+ assetId?: string;
+ /**
+ *
+ * @type {AssetCrop}
+ * @memberof CustomImage
+ */
+ crop?: AssetCrop;
+ /**
+ * Read-only URL of image.
+ * @type {string}
+ * @memberof CustomImage
+ */
+ url?: string;
+}
/**
* The crop to apply to the selected Custom image. A Custom image must have a 1200x628 aspect ratio, with a .01 delta for floating point precision. If a customImageAssetId is supplied but a crop is not, the crop will be defaulted to the whole image.
* @export
@@ -3387,6 +3461,49 @@ export interface EventTypeRuleDuration {
*/
startDate?: string;
}
+/**
+ *
+ * @export
+ * @interface ExtendedProductCollectionCreative
+ */
+export interface ExtendedProductCollectionCreative {
+ /**
+ * An array of ASINs associated with the creative.
+ * @type {Array}
+ * @memberof ExtendedProductCollectionCreative
+ */
+ asins: Array;
+ /**
+ *
+ * @type {AssetCrop}
+ * @memberof ExtendedProductCollectionCreative
+ */
+ brandLogoCrop?: AssetCrop;
+ /**
+ * The displayed brand name in the ad headline. Maximum length is 30 characters. See [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.
+ * @type {string}
+ * @memberof ExtendedProductCollectionCreative
+ */
+ brandName: string;
+ /**
+ * An array of customImages associated with the creative.
+ * @type {Array}
+ * @memberof ExtendedProductCollectionCreative
+ */
+ customImages?: Array;
+ /**
+ * The identifier of the [brand logo](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#brandlogo) image from the brand store\'s asset library. Note that for campaigns created in the Amazon Advertising console prior to release of the brand store\'s assets library, responses will not include a value for this field.
+ * @type {string}
+ * @memberof ExtendedProductCollectionCreative
+ */
+ brandLogoAssetId: string;
+ /**
+ * The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters. See [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.
+ * @type {string}
+ * @memberof ExtendedProductCollectionCreative
+ */
+ headline: string;
+}
/**
* The lower and upper bound forecast values.
* @export
@@ -4716,6 +4833,61 @@ export enum ModerationStatus {
Failed = 'FAILED'
}
+/**
+ *
+ * @export
+ * @interface MultiAdGroupAd
+ */
+export interface MultiAdGroupAd {
+ /**
+ * The ad identifier.
+ * @type {string}
+ * @memberof MultiAdGroupAd
+ */
+ adId: string;
+ /**
+ * The campaign identifier.
+ * @type {string}
+ * @memberof MultiAdGroupAd
+ */
+ campaignId: string;
+ /**
+ *
+ * @type {LandingPage}
+ * @memberof MultiAdGroupAd
+ */
+ landingPage?: LandingPage;
+ /**
+ * The name of the ad.
+ * @type {string}
+ * @memberof MultiAdGroupAd
+ */
+ name: string;
+ /**
+ *
+ * @type {EntityState}
+ * @memberof MultiAdGroupAd
+ */
+ state: EntityState;
+ /**
+ * The adGroup identifier.
+ * @type {string}
+ * @memberof MultiAdGroupAd
+ */
+ adGroupId: string;
+ /**
+ *
+ * @type {Creative}
+ * @memberof MultiAdGroupAd
+ */
+ creative?: Creative;
+ /**
+ *
+ * @type {AdExtendedData}
+ * @memberof MultiAdGroupAd
+ */
+ extendedData?: AdExtendedData;
+}
/**
* Filter entities by name.
* @export
@@ -6333,6 +6505,12 @@ export interface SBTargetingGetTargetableASINCountsRequestContent {
* @memberof SBTargetingGetTargetableASINCountsRequestContent
*/
genres?: Array;
+ /**
+ * Indicates if products have prime shipping. Leave empty to include both prime shipping and non-prime shipping products.
+ * @type {boolean}
+ * @memberof SBTargetingGetTargetableASINCountsRequestContent
+ */
+ isPrimeShipping?: boolean;
/**
*
* @type {SBTargetingRatingRange}
@@ -6351,12 +6529,6 @@ export interface SBTargetingGetTargetableASINCountsRequestContent {
* @memberof SBTargetingGetTargetableASINCountsRequestContent
*/
priceRange?: SBTargetingPriceRange;
- /**
- * Indicates if products have prime shipping
- * @type {boolean}
- * @memberof SBTargetingGetTargetableASINCountsRequestContent
- */
- isPrimeShopping?: boolean;
}
/**
* Response object for /sb/targets/products/count to get number of targetable asins for refinements provided by the user
diff --git a/src/apis/models/sponsored-brands.ts b/src/apis/models/sponsored-brands.ts
index 1099462..e6713fc 100644
--- a/src/apis/models/sponsored-brands.ts
+++ b/src/apis/models/sponsored-brands.ts
@@ -10134,7 +10134,7 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura
};
},
/**
- * **Note**: To ensure you are getting all campaign data, use the [version 4 list campaigns endpoint](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/ListSponsoredBrandsCampaigns) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
+ * **Note**: GET /sb/campaigns returns only a single ad group and creative per campaign. Additionally, the v3.x endpoint does not return [brand video](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Ads/CreateSponsoredBrandsBrandVideoAds) ads. To view the full list of ad groups and ads associated to a campaign, use the [version 4 list endpoints](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
* @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a **Login with Amazon** account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.
@@ -10324,7 +10324,7 @@ export const CampaignsApiFp = function(configuration?: Configuration) {
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
- * **Note**: To ensure you are getting all campaign data, use the [version 4 list campaigns endpoint](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/ListSponsoredBrandsCampaigns) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
+ * **Note**: GET /sb/campaigns returns only a single ad group and creative per campaign. Additionally, the v3.x endpoint does not return [brand video](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Ads/CreateSponsoredBrandsBrandVideoAds) ads. To view the full list of ad groups and ads associated to a campaign, use the [version 4 list endpoints](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
* @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a **Login with Amazon** account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.
@@ -10404,7 +10404,7 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base
return localVarFp.getCampaign(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignId, locale, options).then((request) => request(axios, basePath));
},
/**
- * **Note**: To ensure you are getting all campaign data, use the [version 4 list campaigns endpoint](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/ListSponsoredBrandsCampaigns) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
+ * **Note**: GET /sb/campaigns returns only a single ad group and creative per campaign. Additionally, the v3.x endpoint does not return [brand video](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Ads/CreateSponsoredBrandsBrandVideoAds) ads. To view the full list of ad groups and ads associated to a campaign, use the [version 4 list endpoints](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
* @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a **Login with Amazon** account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.
@@ -10677,7 +10677,7 @@ export class CampaignsApi extends BaseAPI {
}
/**
- * **Note**: To ensure you are getting all campaign data, use the [version 4 list campaigns endpoint](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/ListSponsoredBrandsCampaigns) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
+ * **Note**: GET /sb/campaigns returns only a single ad group and creative per campaign. Additionally, the v3.x endpoint does not return [brand video](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Ads/CreateSponsoredBrandsBrandVideoAds) ads. To view the full list of ad groups and ads associated to a campaign, use the [version 4 list endpoints](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod) instead. To return Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. Returns both productCollection and video campaigns. Use either `adFormatFilter` or `creativeType` to filter campaigns by ad formats such as `productCollection` or `video`.
**Note:** An advertiser that has lost brand eligibility will not be able to use any write operations such as `POST`, `PUT`, and `DELETE`. This includes the `GET` operation `/pageAsins`. However, the rest of the `GET` operations such as `/sb/campaigns` will be usable regardless of advertiser\'s eligibility status.
* @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
* @param {CampaignsApiListCampaignsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
diff --git a/src/apis/models/sponsored-display.ts b/src/apis/models/sponsored-display.ts
index 66f78d3..97cd152 100644
--- a/src/apis/models/sponsored-display.ts
+++ b/src/apis/models/sponsored-display.ts
@@ -2055,7 +2055,7 @@ export interface CreativeResponse {
creativeId?: number;
}
/**
- * The type of the associated creative. If the field is empty or null, a default value of IMAGE will be used. One ad group only supports one type (VIDEO or IMAGE) of creativeType at a time. |Name|Tactic|Description| |----|------|-----------| |IMAGE |T00020, T00030 |The creative will display static assets (e.g. headline, brandLogo or custom image).| |VIDEO |T00030 |The creative will display video assets. This type of creative must have video assets provided. Audiences (T00030) is currently only available today, contextual (T00020) will be coming soon.|
+ * The type of the associated creative. If the field is empty or null, a default value of IMAGE will be used. One ad group only supports one type (VIDEO or IMAGE) of creativeType at a time. |Name|Tactic|Description| |----|------|-----------| |IMAGE |T00020, T00030 |The creative will display static assets (e.g. headline, brandLogo or custom image).| |VIDEO |T00020, T00030 |The creative will display video assets. This type of creative must have a video asset provided.|
* @export
* @enum {string}
*/
@@ -3804,7 +3804,7 @@ export enum SDTargetingClauseV31ExpressionTypeEnum {
}
/**
- * A predicate to match against inside the TargetingPredicateNested component (only applicable to audience targeting - T00030). * All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system. * Brand, price, and review predicates are optional and may only be specified if category is also specified. * Review predicates accept numbers between 0 and 5 and are inclusive. * When using either of the ‘between’ strings to construct a targeting expression the format of the string is ‘double-double’ where the first double must be smaller than the second double. Prices are not inclusive. * The exactProduct, similarProduct, and negative types do not utilize the value field. * The only type currently applicable to Amazon Audiences targeting is \'audienceSameAs\'. * **Future** A \'negative\' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.
+ * A predicate to match against inside the TargetingPredicateNested component (only applicable to audience targeting - T00030). * All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system. * Brand, price, and review predicates are optional and may only be specified if category is also specified. * Review predicates accept numbers between 0 and 5 and are inclusive. * When using either of the \'between\' strings to construct a targeting expression the format of the string is \'double-double\' where the first double must be smaller than the second double. Prices are not inclusive. * The exactProduct, similarProduct, relatedProduct, and negative types do not utilize the value field. * The only type currently applicable to Amazon Audiences targeting is \'audienceSameAs\'. * **Future** A \'negative\' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.
* @export
* @interface SDTargetingPredicateBaseV31
*/
@@ -3837,6 +3837,7 @@ export enum SDTargetingPredicateBaseV31TypeEnum {
AsinReviewRatingGreaterThan = 'asinReviewRatingGreaterThan',
AsinReviewRatingBetween = 'asinReviewRatingBetween',
SimilarProduct = 'similarProduct',
+ RelatedProduct = 'relatedProduct',
ExactProduct = 'exactProduct',
AsinIsPrimeShippingEligible = 'asinIsPrimeShippingEligible',
AsinAgeRangeSameAs = 'asinAgeRangeSameAs',
@@ -3876,7 +3877,7 @@ export enum SDTargetingPredicateNestedV31TypeEnum {
}
/**
- * A predicate to match against in the Targeting Expression (only applicable to contextual targeting - T00020). * All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system. * Brand, price, and review predicates are optional and may only be specified if category is also specified. * Review predicates accept numbers between 0 and 5 and are inclusive. * When using either of the ‘between’ strings to construct a targeting expression the format of the string is ‘double-double’ where the first double must be smaller than the second double. Prices are not inclusive.
+ * A predicate to match against in the Targeting Expression (only applicable to contextual targeting - T00020). * All IDs passed for category and brand-targeting predicates must be valid IDs in the Amazon Ads browse system. * Brand, price, and review predicates are optional and may only be specified if category is also specified. * Review predicates accept numbers between 0 and 5 and are inclusive. * When using either of the \'between\' strings to construct a targeting expression the format of the string is \'double-double\' where the first double must be smaller than the second double. Prices are not inclusive.
* @export
* @interface SDTargetingPredicateV31
*/
@@ -4253,7 +4254,7 @@ export enum SnapshotResponseStatusEnum {
}
/**
- * The advertising tactic associated with the campaign. The following table lists available tactic names: |Tactic Name|Type|Description| |-----------|-----|-----------| |T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE only.| |T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO.|
+ * The advertising tactic associated with the campaign. The following table lists available tactic names: |Tactic Name|Type|Description| |-----------|-----|-----------| |T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE and VIDEO.| |T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO.|
* @export
* @enum {string}
*/
@@ -4276,7 +4277,7 @@ export enum TacticFilter {
}
/**
- * The advertising tactic associated with the campaign. The following table lists available tactic names: |Tactic Name|Type|Description| |-----------|-----|-----------| |T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE only.| |T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO. |
+ * The advertising tactic associated with the campaign. The following table lists available tactic names: |Tactic Name|Type|Description| |-----------|-----|-----------| |T00020 |Contextual targeting | Choose individual products to show your ads in placements related to those products.
Choose individual categories to show your ads in placements related to those categories on and off Amazon. This tactic supports adGroup creativeType IMAGE and VIDEO.| |T00030 |Audiences targeting | Select individual audiences to show your ads. This tactic supports adGroup creativeType IMAGE and VIDEO. |
* @export
* @enum {string}
*/
@@ -4737,7 +4738,7 @@ export interface TargetingRecommendationsRequest {
typeFilter: Array;
}
/**
- * Response to a request for targeting recommendations
+ * Response to a request for targeting recommendations.
* @export
* @interface TargetingRecommendationsResponse
*/
@@ -6155,7 +6156,7 @@ export class AdGroupsApi extends BaseAPI {
export const BidRecommendationsApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
- * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins #### Notes: - Bid recommendations for purchases and audiences are **not currently supported**. This note will be removed when these operations are available. - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct & exactProduct targets the advertised asins are required
+ * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins |purchases(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has purchased products in the given category |purchases(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased the advertised asins |purchases(relatedProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased products related to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Notes: - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct, exactProduct, and relatedProduct targets the advertised asins are required
* @summary Returns a set of bid recommendations for targeting clauses
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.
@@ -6221,7 +6222,7 @@ export const BidRecommendationsApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = BidRecommendationsApiAxiosParamCreator(configuration)
return {
/**
- * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins #### Notes: - Bid recommendations for purchases and audiences are **not currently supported**. This note will be removed when these operations are available. - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct & exactProduct targets the advertised asins are required
+ * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins |purchases(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has purchased products in the given category |purchases(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased the advertised asins |purchases(relatedProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased products related to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Notes: - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct, exactProduct, and relatedProduct targets the advertised asins are required
* @summary Returns a set of bid recommendations for targeting clauses
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.
@@ -6244,7 +6245,7 @@ export const BidRecommendationsApiFactory = function (configuration?: Configurat
const localVarFp = BidRecommendationsApiFp(configuration)
return {
/**
- * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins #### Notes: - Bid recommendations for purchases and audiences are **not currently supported**. This note will be removed when these operations are available. - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct & exactProduct targets the advertised asins are required
+ * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins |purchases(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has purchased products in the given category |purchases(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased the advertised asins |purchases(relatedProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased products related to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Notes: - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct, exactProduct, and relatedProduct targets the advertised asins are required
* @summary Returns a set of bid recommendations for targeting clauses
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.
@@ -6294,7 +6295,7 @@ export interface BidRecommendationsApiGetTargetBidRecommendationsRequest {
*/
export class BidRecommendationsApi extends BaseAPI {
/**
- * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins #### Notes: - Bid recommendations for purchases and audiences are **not currently supported**. This note will be removed when these operations are available. - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct & exactProduct targets the advertised asins are required
+ * Provides a list of bid recommendations based on the list of input advertised ASINs and targeting clauses in the same format as the targeting API. For each targeting clause in the request a corresponding bid recommendation will be returned in the response. Currently the API will accept up to 100 targeting clauses. The recommended bids are derrived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Contextual targeting clause|Description| |-----------|----| |asinSameAs=B0123456789|Receive a bid recommendation for this target product |asinCategorySameAs=12345|Receive a bid recommendation for this target category |similarProduct|Receive a bid recommendation for targets that are similar to the advertised asins. Audience targeting clause|Description| |-----------|----| |views(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has viewed products in the given category |views(similarProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed similar products to the advertised asins |views(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has viewed the advertised asins |purchases(asinCategorySameAs=12345 lookback=30)|Receive a bid recommendation for a target audience that has purchased products in the given category |purchases(exactProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased the advertised asins |purchases(relatedProduct lookback=30)|Receive a bid recommendation for a target audience that has purchased products related to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Notes: - Refinements are currently not supported and if included will not impact the bid recommendation for the target. #### Advertised ASIN Notes: - For asinSameAs targets the advertised asins will not impact the bid recommendation - For asinCategrySameAs targets the advertised asins are optional, but including them will provide a more refined bid recommendation - For similarProduct, exactProduct, and relatedProduct targets the advertised asins are required
* @summary Returns a set of bid recommendations for targeting clauses
* @param {BidRecommendationsApiGetTargetBidRecommendationsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
diff --git a/src/apis/models/sponsored-products-extra.ts b/src/apis/models/sponsored-products-extra.ts
index c1619bc..c05e987 100644
--- a/src/apis/models/sponsored-products-extra.ts
+++ b/src/apis/models/sponsored-products-extra.ts
@@ -1078,86 +1078,6 @@ export interface BudgetUsagePortfolioResponse {
*/
error?: Array;
}
-/**
- *
- * @export
- * @interface CampaignOptimizationRule
- */
-export interface CampaignOptimizationRule {
- /**
- *
- * @type {RecurrenceType}
- * @memberof CampaignOptimizationRule
- */
- recurrence?: RecurrenceType;
- /**
- *
- * @type {RuleAction}
- * @memberof CampaignOptimizationRule
- */
- ruleAction?: RuleAction;
- /**
- * The persistent rule identifier.
- * @type {string}
- * @memberof CampaignOptimizationRule
- */
- campaignOptimizationId: string;
- /**
- * Time of campaign optimization rule creation in ISO 8061. Read-only.
- * @type {string}
- * @memberof CampaignOptimizationRule
- */
- createdDate?: string;
- /**
- *
- * @type {Array}
- * @memberof CampaignOptimizationRule
- */
- ruleCondition?: Array;
- /**
- *
- * @type {RuleType}
- * @memberof CampaignOptimizationRule
- */
- ruleType?: RuleType;
- /**
- * The campaign optimization rule name.
- * @type {string}
- * @memberof CampaignOptimizationRule
- */
- ruleName?: string;
- /**
- *
- * @type {Array}
- * @memberof CampaignOptimizationRule
- */
- campaignIds?: Array;
- /**
- *
- * @type {RuleStatus}
- * @memberof CampaignOptimizationRule
- */
- ruleStatus?: RuleStatus;
-}
-/**
- * The Error Response Object.
- * @export
- * @interface CampaignOptimizationRuleError
- */
-export interface CampaignOptimizationRuleError {
- /**
- * An enumerated error code for machine use.
- * @type {string}
- * @memberof CampaignOptimizationRuleError
- */
- code?: string;
- /**
- * A human-readable description of the response.
- * @type {string}
- * @memberof CampaignOptimizationRuleError
- */
- details?: string;
-}
/**
* This object contains a set of recommendations for a campaign across bid, budget, targeting.
* @export
@@ -1329,7 +1249,6 @@ export interface Clicks {
export enum ComparisonOperator {
GreaterThan = 'GREATER_THAN',
LessThan = 'LESS_THAN',
- EqualTo = 'EQUAL_TO',
LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO',
GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO'
}
@@ -1431,74 +1350,6 @@ export interface CreateSPBudgetRulesRequest {
*/
budgetRulesDetails?: Array;
}
-/**
- *
- * @export
- * @interface CreateSPCampaignOptimizationRulesRequest
- */
-export interface CreateSPCampaignOptimizationRulesRequest {
- /**
- *
- * @type {RecurrenceType}
- * @memberof CreateSPCampaignOptimizationRulesRequest
- */
- recurrence: RecurrenceType;
- /**
- *
- * @type {RuleAction}
- * @memberof CreateSPCampaignOptimizationRulesRequest
- */
- ruleAction: RuleAction;
- /**
- *
- * @type {Array}
- * @memberof CreateSPCampaignOptimizationRulesRequest
- */
- ruleCondition: Array;
- /**
- *
- * @type {RuleType}
- * @memberof CreateSPCampaignOptimizationRulesRequest
- */
- ruleType: RuleType;
- /**
- * The campaign optimization rule name.
- * @type {string}
- * @memberof CreateSPCampaignOptimizationRulesRequest
- */
- ruleName?: string;
- /**
- * A list of campaign ids
- * @type {Array}
- * @memberof CreateSPCampaignOptimizationRulesRequest
- */
- campaignIds: Array;
-}
-/**
- *
- * @export
- * @interface CreateSPCampaignOptimizationRulesResponse
- */
-export interface CreateSPCampaignOptimizationRulesResponse {
- /**
- * The persistent rule identifier.
- * @type {string}
- * @memberof CreateSPCampaignOptimizationRulesResponse
- */
- campaignOptimizationId?: string;
- /**
- * An enumerated success or error code for machine use.
- * @type {string}
- * @memberof CreateSPCampaignOptimizationRulesResponse
- */
- code?: string;
- /**
- * A human-readable description of the error, if unsuccessful
- * @type {string}
- * @memberof CreateSPCampaignOptimizationRulesResponse
- */
- details?: string;
-}
/**
* Daily metrics benchmark.
* @export
@@ -1559,31 +1410,6 @@ export enum DayOfWeek {
Sunday = 'SUNDAY'
}
-/**
- *
- * @export
- * @interface DeleteSPCampaignOptimizationRuleResponse
- */
-export interface DeleteSPCampaignOptimizationRuleResponse {
- /**
- * The persistent rule identifier.
- * @type {string}
- * @memberof DeleteSPCampaignOptimizationRuleResponse
- */
- campaignOptimizationId?: string;
- /**
- * An enumerated success or error code for machine use.
- * @type {string}
- * @memberof DeleteSPCampaignOptimizationRuleResponse
- */
- code?: string;
- /**
- * A human-readable description of the error, if unsuccessful
- * @type {string}
- * @memberof DeleteSPCampaignOptimizationRuleResponse
- */
- details?: string;
-}
/**
* Object representing event type rule duration.
* @export
@@ -1799,19 +1625,6 @@ export interface GetSPBudgetRulesForAdvertiserResponse {
*/
nextToken?: string;
}
-/**
- *
- * @export
- * @interface GetSPCampaignOptimizationRuleResponse
- */
-export interface GetSPCampaignOptimizationRuleResponse {
- /**
- *
- * @type {CampaignOptimizationRule}
- * @memberof GetSPCampaignOptimizationRuleResponse
- */
- CampaignOptimizationRule?: CampaignOptimizationRule;
-}
/**
*
* @export
@@ -2996,13 +2809,14 @@ export interface Recurrence {
daysOfWeek?: Array;
}
/**
- * The frequency of the rule application.
+ * depicts the type of recurrence
* @export
* @enum {string}
*/
export enum RecurrenceType {
- Daily = 'DAILY'
+ Daily = 'DAILY',
+ Weekly = 'WEEKLY'
}
/**
@@ -3030,52 +2844,6 @@ export interface Refinements {
*/
genres?: Array;
}
-/**
- * The action taken when the campaign optimization rule is enabled. Defaults to adopt
- * @export
- * @enum {string}
- */
-
-export enum RuleAction {
- Adopt = 'ADOPT'
-}
-
-/**
- *
- * @export
- * @interface RuleCondition
- */
-export interface RuleCondition {
- /**
- *
- * @type {RuleConditionMetric}
- * @memberof RuleCondition
- */
- metricName: RuleConditionMetric;
- /**
- *
- * @type {ComparisonOperator}
- * @memberof RuleCondition
- */
- comparisonOperator: ComparisonOperator;
- /**
- * The performance threshold value.
- * @type {number}
- * @memberof RuleCondition
- */
- threshold: number;
-}
-/**
- * The advertising performance metric. ROAS is the only supported metric.
- * @export
- * @enum {string}
- */
-
-export enum RuleConditionMetric {
- Roas = 'ROAS',
- AverageBid = 'AVERAGE_BID'
-}
-
/**
*
* @export
@@ -3095,141 +2863,6 @@ export interface RuleDuration {
*/
dateRangeTypeRuleDuration?: DateRangeTypeRuleDuration;
}
-/**
- *
- * @export
- * @interface RuleNotification
- */
-export interface RuleNotification {
- /**
- *
- * @type {RuleState}
- * @memberof RuleNotification
- */
- ruleState?: RuleState;
- /**
- * The persistent rule identifier.
- * @type {string}
- * @memberof RuleNotification
- */
- campaignOptimizationId?: string;
- /**
- * campaignId
- * @type {string}
- * @memberof RuleNotification
- */
- campaignId?: string;
- /**
- * Explains why the rule state is disabled
- * @type {string}
- * @memberof RuleNotification
- */
- notificationString?: string;
-}
-/**
- *
- * @export
- * @interface RuleNotificationError
- */
-export interface RuleNotificationError {
- /**
- * campaignId
- * @type {string}
- * @memberof RuleNotificationError
- */
- campaignId?: string;
- /**
- *
- * @type {CampaignOptimizationRuleError}
- * @memberof RuleNotificationError
- */
- Error?: CampaignOptimizationRuleError;
-}
-/**
- *
- * @export
- * @interface RuleRecommendation
- */
-export interface RuleRecommendation {
- /**
- * campaignId
- * @type {string}
- * @memberof RuleRecommendation
- */
- campaignId?: string;
- /**
- *
- * @type {RuleRecommendationMetrics}
- * @memberof RuleRecommendation
- */
- performanceMetrics?: RuleRecommendationMetrics;
-}
-/**
- *
- * @export
- * @interface RuleRecommendationError
- */
-export interface RuleRecommendationError {
- /**
- * campaignId
- * @type {string}
- * @memberof RuleRecommendationError
- */
- campaignId?: string;
- /**
- *
- * @type {CampaignOptimizationRuleError}
- * @memberof RuleRecommendationError
- */
- Error?: CampaignOptimizationRuleError;
-}
-/**
- * Performance Metrics supported by the rule recommendation
- * @export
- * @interface RuleRecommendationMetrics
- */
-export interface RuleRecommendationMetrics {
- /**
- * return on ad spend value
- * @type {number}
- * @memberof RuleRecommendationMetrics
- */
- roas?: number;
-}
-/**
- * The campaign optimization rule state.
- * @export
- * @enum {string}
- */
-
-export enum RuleState {
- Enabled = 'ENABLED',
- Disabled = 'DISABLED'
-}
-
-/**
- * The campaign optimization rule status. Read-Only
- * @export
- * @enum {string}
- */
-
-export enum RuleStatus {
- Active = 'ACTIVE',
- Archived = 'ARCHIVED'
-}
-
-/**
- * The type of the campaign optimization rule. Only Support BID as of now
- * @export
- * @enum {string}
- */
-
-export enum RuleType {
- Bid = 'BID',
- Keyword = 'KEYWORD',
- Product = 'PRODUCT'
-}
-
/**
*
* @export
@@ -3883,90 +3516,26 @@ export interface SPCampaignBudgetRule {
/**
*
* @export
- * @interface SPCampaignOptimizationNotificationAPIRequest
+ * @interface SPGetAssociatedCampaignsResponse
*/
-export interface SPCampaignOptimizationNotificationAPIRequest {
+export interface SPGetAssociatedCampaignsResponse {
/**
- * A list of campaign ids
- * @type {Array}
- * @memberof SPCampaignOptimizationNotificationAPIRequest
+ * A list of campaigns that are associated to this budget rule.
+ * @type {Array}
+ * @memberof SPGetAssociatedCampaignsResponse
*/
- campaignIds: Array;
+ associatedCampaigns?: Array;
+ /**
+ * To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.
+ * @type {string}
+ * @memberof SPGetAssociatedCampaignsResponse
+ */
+ nextToken?: string;
}
/**
*
* @export
- * @interface SPCampaignOptimizationNotificationAPIResponse
- */
-export interface SPCampaignOptimizationNotificationAPIResponse {
- /**
- * List of errors that occured when generating campaign optimization notifications.
- * @type {Array}
- * @memberof SPCampaignOptimizationNotificationAPIResponse
- */
- CampaignOptimizationRecommendationsError?: Array;
- /**
- * List of successful campaign optimization notifications for campaigns.
- * @type {Array}
- * @memberof SPCampaignOptimizationNotificationAPIResponse
- */
- CampaignOptimizationNotifications?: Array;
-}
-/**
- *
- * @export
- * @interface SPCampaignOptimizationRecommendationAPIResponse
- */
-export interface SPCampaignOptimizationRecommendationAPIResponse {
- /**
- * List of successful campaign optimization recomendation for campaigns.
- * @type {Array}
- * @memberof SPCampaignOptimizationRecommendationAPIResponse
- */
- CampaignOptimizationRecommendations?: Array;
- /**
- * List of errors that occured when generating campaign optimization recommendation.
- * @type {Array}
- * @memberof SPCampaignOptimizationRecommendationAPIResponse
- */
- CampaignOptimizationRecommendationsError?: Array;
-}
-/**
- *
- * @export
- * @interface SPCampaignOptimizationRecommendationsAPIRequest
- */
-export interface SPCampaignOptimizationRecommendationsAPIRequest {
- /**
- * A list of campaign ids
- * @type {Array}
- * @memberof SPCampaignOptimizationRecommendationsAPIRequest
- */
- campaignIds: Array;
-}
-/**
- *
- * @export
- * @interface SPGetAssociatedCampaignsResponse
- */
-export interface SPGetAssociatedCampaignsResponse {
- /**
- * A list of campaigns that are associated to this budget rule.
- * @type {Array}
- * @memberof SPGetAssociatedCampaignsResponse
- */
- associatedCampaigns?: Array;
- /**
- * To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.
- * @type {string}
- * @memberof SPGetAssociatedCampaignsResponse
- */
- nextToken?: string;
-}
-/**
- *
- * @export
- * @interface SPListAssociatedBudgetRulesResponse
+ * @interface SPListAssociatedBudgetRulesResponse
*/
export interface SPListAssociatedBudgetRulesResponse {
/**
@@ -7328,6 +6897,18 @@ export interface SponsoredProductsCreateDraftKeyword {
* @interface SponsoredProductsCreateDraftNegativeKeyword
*/
export interface SponsoredProductsCreateDraftNegativeKeyword {
+ /**
+ * The unlocalized keyword text in the preferred locale of the advertiser
+ * @type {string}
+ * @memberof SponsoredProductsCreateDraftNegativeKeyword
+ */
+ nativeLanguageKeyword?: string;
+ /**
+ * The locale preference of the advertiser.
+ * @type {string}
+ * @memberof SponsoredProductsCreateDraftNegativeKeyword
+ */
+ nativeLanguageLocale?: string;
/**
* The identifer of the campaign to which the keyword is associated.
* @type {string}
@@ -7885,6 +7466,18 @@ export interface SponsoredProductsCreateKeyword {
* @interface SponsoredProductsCreateNegativeKeyword
*/
export interface SponsoredProductsCreateNegativeKeyword {
+ /**
+ * The unlocalized keyword text in the preferred locale of the advertiser
+ * @type {string}
+ * @memberof SponsoredProductsCreateNegativeKeyword
+ */
+ nativeLanguageKeyword?: string;
+ /**
+ * The locale preference of the advertiser.
+ * @type {string}
+ * @memberof SponsoredProductsCreateNegativeKeyword
+ */
+ nativeLanguageLocale?: string;
/**
* The identifer of the campaign to which the keyword is associated.
* @type {string}
@@ -11264,6 +10857,18 @@ export interface SponsoredProductsDraftNegativeKeyword {
* @memberof SponsoredProductsDraftNegativeKeyword
*/
keywordId: string;
+ /**
+ * The unlocalized keyword text in the preferred locale of the advertiser
+ * @type {string}
+ * @memberof SponsoredProductsDraftNegativeKeyword
+ */
+ nativeLanguageKeyword?: string;
+ /**
+ * The locale preference of the advertiser.
+ * @type {string}
+ * @memberof SponsoredProductsDraftNegativeKeyword
+ */
+ nativeLanguageLocale?: string;
/**
* The identifier of the campaign to which the keyword is associated.
* @type {string}
@@ -15744,6 +15349,12 @@ export interface SponsoredProductsListSponsoredProductsDraftNegativeKeywordsRequ
* @memberof SponsoredProductsListSponsoredProductsDraftNegativeKeywordsRequestContent
*/
includeExtendedDataFields?: boolean;
+ /**
+ * The locale preference of the advertiser.
+ * @type {string}
+ * @memberof SponsoredProductsListSponsoredProductsDraftNegativeKeywordsRequestContent
+ */
+ locale?: string;
/**
*
* @type {SponsoredProductsObjectIdFilter}
@@ -16684,6 +16295,12 @@ export interface SponsoredProductsListSponsoredProductsNegativeKeywordsPreviewRe
* @memberof SponsoredProductsListSponsoredProductsNegativeKeywordsPreviewRequestContent
*/
includeExtendedDataFields?: boolean;
+ /**
+ * Restricts results to negativeKeywords that match the specified locale.
+ * @type {string}
+ * @memberof SponsoredProductsListSponsoredProductsNegativeKeywordsPreviewRequestContent
+ */
+ locale?: string;
/**
*
* @type {SponsoredProductsObjectIdFilter}
@@ -16770,6 +16387,12 @@ export interface SponsoredProductsListSponsoredProductsNegativeKeywordsRequestCo
* @memberof SponsoredProductsListSponsoredProductsNegativeKeywordsRequestContent
*/
includeExtendedDataFields?: boolean;
+ /**
+ * Restricts results to negativeKeywords that match the specified locale.
+ * @type {string}
+ * @memberof SponsoredProductsListSponsoredProductsNegativeKeywordsRequestContent
+ */
+ locale?: string;
/**
*
* @type {SponsoredProductsObjectIdFilter}
@@ -17645,6 +17268,18 @@ export interface SponsoredProductsNegativeKeyword {
* @memberof SponsoredProductsNegativeKeyword
*/
keywordId: string;
+ /**
+ * The unlocalized keyword text in the preferred locale of the advertiser
+ * @type {string}
+ * @memberof SponsoredProductsNegativeKeyword
+ */
+ nativeLanguageKeyword?: string;
+ /**
+ * The locale preference of the advertiser.
+ * @type {string}
+ * @memberof SponsoredProductsNegativeKeyword
+ */
+ nativeLanguageLocale?: string;
/**
* The identifier of the campaign to which the keyword is associated.
* @type {string}
@@ -21295,80 +20930,6 @@ export interface UpdateSPBudgetRulesRequest {
*/
budgetRulesDetails?: Array;
}
-/**
- *
- * @export
- * @interface UpdateSPCampaignOptimizationRuleResponse
- */
-export interface UpdateSPCampaignOptimizationRuleResponse {
- /**
- * The persistent rule identifier.
- * @type {string}
- * @memberof UpdateSPCampaignOptimizationRuleResponse
- */
- campaignOptimizationId?: string;
- /**
- * An enumerated success or error code for machine use.
- * @type {string}
- * @memberof UpdateSPCampaignOptimizationRuleResponse
- */
- code?: string;
- /**
- * A human-readable description of the error, if unsuccessful
- * @type {string}
- * @memberof UpdateSPCampaignOptimizationRuleResponse
- */
- details?: string;
-}
-/**
- * Request object for updating campaign optimization rule
- * @export
- * @interface UpdateSPCampaignOptimizationRulesRequest
- */
-export interface UpdateSPCampaignOptimizationRulesRequest {
- /**
- *
- * @type {RecurrenceType}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- recurrence: RecurrenceType;
- /**
- *
- * @type {RuleAction}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- ruleAction: RuleAction;
- /**
- * The persistent rule identifier.
- * @type {string}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- campaignOptimizationId: string;
- /**
- *
- * @type {Array}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- ruleCondition: Array;
- /**
- *
- * @type {RuleType}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- ruleType: RuleType;
- /**
- * The campaign optimization rule name.
- * @type {string}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- ruleName?: string;
- /**
- * A list of campaign ids
- * @type {Array}
- * @memberof UpdateSPCampaignOptimizationRulesRequest
- */
- campaignIds: Array;
-}
/**
* Returns information about a ValidationException.
* @export
@@ -24713,730 +24274,6 @@ export class CampaignNegativeTargetingClausesApi extends BaseAPI {
}
-/**
- * CampaignOptimizationRulesApi - axios parameter creator
- * @export
- */
-export const CampaignOptimizationRulesApiAxiosParamCreator = function (configuration?: Configuration) {
- return {
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Creates a campaign optimization rule.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {CreateSPCampaignOptimizationRulesRequest} createSPCampaignOptimizationRulesRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- createOptimizationRule: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createSPCampaignOptimizationRulesRequest: CreateSPCampaignOptimizationRulesRequest, options: any = {}): Promise => {
- // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
- assertParamExists('createOptimizationRule', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
- // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
- assertParamExists('createOptimizationRule', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
- // verify required parameter 'createSPCampaignOptimizationRulesRequest' is not null or undefined
- assertParamExists('createOptimizationRule', 'createSPCampaignOptimizationRulesRequest', createSPCampaignOptimizationRulesRequest)
- const localVarPath = `/sp/rules/campaignOptimization`;
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
- let baseOptions;
- if (configuration) {
- baseOptions = configuration.baseOptions;
- }
-
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
- }
-
- if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
- }
-
-
-
- localVarHeaderParameter['Content-Type'] = 'application/vnd.optimizationrules.v1+json';
-
- setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
- localVarRequestOptions.data = serializeDataIfNeeded(createSPCampaignOptimizationRulesRequest, localVarRequestOptions, configuration)
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Deletes a campaign optimization rule specified by identifier.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} campaignOptimizationId The sp campaign optimization rule identifier.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- deleteCampaignOptimizationRule: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignOptimizationId: string, options: any = {}): Promise => {
- // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
- assertParamExists('deleteCampaignOptimizationRule', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
- // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
- assertParamExists('deleteCampaignOptimizationRule', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
- // verify required parameter 'campaignOptimizationId' is not null or undefined
- assertParamExists('deleteCampaignOptimizationRule', 'campaignOptimizationId', campaignOptimizationId)
- const localVarPath = `/sp/rules/campaignOptimization/{campaignOptimizationId}`
- .replace(`{${"campaignOptimizationId"}}`, encodeURIComponent(String(campaignOptimizationId)));
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
- let baseOptions;
- if (configuration) {
- baseOptions = configuration.baseOptions;
- }
-
- const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
- }
-
- if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
- }
-
-
-
- setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule specified by identifier.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} campaignOptimizationId The sp campaign optimization rule identifier.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getCampaignOptimizationRule: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignOptimizationId: string, options: any = {}): Promise => {
- // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
- assertParamExists('getCampaignOptimizationRule', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
- // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
- assertParamExists('getCampaignOptimizationRule', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
- // verify required parameter 'campaignOptimizationId' is not null or undefined
- assertParamExists('getCampaignOptimizationRule', 'campaignOptimizationId', campaignOptimizationId)
- const localVarPath = `/sp/rules/campaignOptimization/{campaignOptimizationId}`
- .replace(`{${"campaignOptimizationId"}}`, encodeURIComponent(String(campaignOptimizationId)));
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
- let baseOptions;
- if (configuration) {
- baseOptions = configuration.baseOptions;
- }
-
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
- }
-
- if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
- }
-
-
-
- setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule recommendation for SP campaigns.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {SPCampaignOptimizationRecommendationsAPIRequest} sPCampaignOptimizationRecommendationsAPIRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getOptimizationRuleEligibility: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sPCampaignOptimizationRecommendationsAPIRequest: SPCampaignOptimizationRecommendationsAPIRequest, options: any = {}): Promise => {
- // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
- assertParamExists('getOptimizationRuleEligibility', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
- // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
- assertParamExists('getOptimizationRuleEligibility', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
- // verify required parameter 'sPCampaignOptimizationRecommendationsAPIRequest' is not null or undefined
- assertParamExists('getOptimizationRuleEligibility', 'sPCampaignOptimizationRecommendationsAPIRequest', sPCampaignOptimizationRecommendationsAPIRequest)
- const localVarPath = `/sp/rules/campaignOptimization/eligibility`;
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
- let baseOptions;
- if (configuration) {
- baseOptions = configuration.baseOptions;
- }
-
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
- }
-
- if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
- }
-
-
-
- localVarHeaderParameter['Content-Type'] = 'application/vnd.optimizationrules.v1+json';
-
- setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
- localVarRequestOptions.data = serializeDataIfNeeded(sPCampaignOptimizationRecommendationsAPIRequest, localVarRequestOptions, configuration)
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets campaign optimization rule state. Recommended refresh frequency is once a day.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {SPCampaignOptimizationNotificationAPIRequest} sPCampaignOptimizationNotificationAPIRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getRuleNotification: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sPCampaignOptimizationNotificationAPIRequest: SPCampaignOptimizationNotificationAPIRequest, options: any = {}): Promise => {
- // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
- assertParamExists('getRuleNotification', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
- // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
- assertParamExists('getRuleNotification', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
- // verify required parameter 'sPCampaignOptimizationNotificationAPIRequest' is not null or undefined
- assertParamExists('getRuleNotification', 'sPCampaignOptimizationNotificationAPIRequest', sPCampaignOptimizationNotificationAPIRequest)
- const localVarPath = `/sp/rules/campaignOptimization/state`;
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
- let baseOptions;
- if (configuration) {
- baseOptions = configuration.baseOptions;
- }
-
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
- }
-
- if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
- }
-
-
-
- localVarHeaderParameter['Content-Type'] = 'application/vnd.optimizationrules.v1+json';
-
- setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
- localVarRequestOptions.data = serializeDataIfNeeded(sPCampaignOptimizationNotificationAPIRequest, localVarRequestOptions, configuration)
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Updates a campaign optimization rule.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {UpdateSPCampaignOptimizationRulesRequest} updateSPCampaignOptimizationRulesRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- updateOptimizationRule: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, updateSPCampaignOptimizationRulesRequest: UpdateSPCampaignOptimizationRulesRequest, options: any = {}): Promise => {
- // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined
- assertParamExists('updateOptimizationRule', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId)
- // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined
- assertParamExists('updateOptimizationRule', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope)
- // verify required parameter 'updateSPCampaignOptimizationRulesRequest' is not null or undefined
- assertParamExists('updateOptimizationRule', 'updateSPCampaignOptimizationRulesRequest', updateSPCampaignOptimizationRulesRequest)
- const localVarPath = `/sp/rules/campaignOptimization`;
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
- let baseOptions;
- if (configuration) {
- baseOptions = configuration.baseOptions;
- }
-
- const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId);
- }
-
- if (amazonAdvertisingAPIScope !== undefined && amazonAdvertisingAPIScope !== null) {
- localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope);
- }
-
-
-
- localVarHeaderParameter['Content-Type'] = 'application/vnd.optimizationrules.v1+json';
-
- setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
- localVarRequestOptions.data = serializeDataIfNeeded(updateSPCampaignOptimizationRulesRequest, localVarRequestOptions, configuration)
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- }
-};
-
-/**
- * CampaignOptimizationRulesApi - functional programming interface
- * @export
- */
-export const CampaignOptimizationRulesApiFp = function(configuration?: Configuration) {
- const localVarAxiosParamCreator = CampaignOptimizationRulesApiAxiosParamCreator(configuration)
- return {
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Creates a campaign optimization rule.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {CreateSPCampaignOptimizationRulesRequest} createSPCampaignOptimizationRulesRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async createOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createSPCampaignOptimizationRulesRequest: CreateSPCampaignOptimizationRulesRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.createOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createSPCampaignOptimizationRulesRequest, options);
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Deletes a campaign optimization rule specified by identifier.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} campaignOptimizationId The sp campaign optimization rule identifier.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async deleteCampaignOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignOptimizationId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.deleteCampaignOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignOptimizationId, options);
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule specified by identifier.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} campaignOptimizationId The sp campaign optimization rule identifier.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async getCampaignOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignOptimizationId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.getCampaignOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignOptimizationId, options);
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule recommendation for SP campaigns.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {SPCampaignOptimizationRecommendationsAPIRequest} sPCampaignOptimizationRecommendationsAPIRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async getOptimizationRuleEligibility(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sPCampaignOptimizationRecommendationsAPIRequest: SPCampaignOptimizationRecommendationsAPIRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.getOptimizationRuleEligibility(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sPCampaignOptimizationRecommendationsAPIRequest, options);
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets campaign optimization rule state. Recommended refresh frequency is once a day.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {SPCampaignOptimizationNotificationAPIRequest} sPCampaignOptimizationNotificationAPIRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async getRuleNotification(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sPCampaignOptimizationNotificationAPIRequest: SPCampaignOptimizationNotificationAPIRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.getRuleNotification(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sPCampaignOptimizationNotificationAPIRequest, options);
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Updates a campaign optimization rule.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {UpdateSPCampaignOptimizationRulesRequest} updateSPCampaignOptimizationRulesRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async updateOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, updateSPCampaignOptimizationRulesRequest: UpdateSPCampaignOptimizationRulesRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.updateOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, updateSPCampaignOptimizationRulesRequest, options);
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- }
-};
-
-/**
- * CampaignOptimizationRulesApi - factory interface
- * @export
- */
-export const CampaignOptimizationRulesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
- const localVarFp = CampaignOptimizationRulesApiFp(configuration)
- return {
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Creates a campaign optimization rule.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {CreateSPCampaignOptimizationRulesRequest} createSPCampaignOptimizationRulesRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- createOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createSPCampaignOptimizationRulesRequest: CreateSPCampaignOptimizationRulesRequest, options?: any): AxiosPromise {
- return localVarFp.createOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createSPCampaignOptimizationRulesRequest, options).then((request) => request(axios, basePath));
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Deletes a campaign optimization rule specified by identifier.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} campaignOptimizationId The sp campaign optimization rule identifier.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- deleteCampaignOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignOptimizationId: string, options?: any): AxiosPromise {
- return localVarFp.deleteCampaignOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignOptimizationId, options).then((request) => request(axios, basePath));
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule specified by identifier.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} campaignOptimizationId The sp campaign optimization rule identifier.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getCampaignOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignOptimizationId: string, options?: any): AxiosPromise {
- return localVarFp.getCampaignOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignOptimizationId, options).then((request) => request(axios, basePath));
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule recommendation for SP campaigns.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {SPCampaignOptimizationRecommendationsAPIRequest} sPCampaignOptimizationRecommendationsAPIRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getOptimizationRuleEligibility(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sPCampaignOptimizationRecommendationsAPIRequest: SPCampaignOptimizationRecommendationsAPIRequest, options?: any): AxiosPromise {
- return localVarFp.getOptimizationRuleEligibility(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sPCampaignOptimizationRecommendationsAPIRequest, options).then((request) => request(axios, basePath));
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets campaign optimization rule state. Recommended refresh frequency is once a day.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {SPCampaignOptimizationNotificationAPIRequest} sPCampaignOptimizationNotificationAPIRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getRuleNotification(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sPCampaignOptimizationNotificationAPIRequest: SPCampaignOptimizationNotificationAPIRequest, options?: any): AxiosPromise {
- return localVarFp.getRuleNotification(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sPCampaignOptimizationNotificationAPIRequest, options).then((request) => request(axios, basePath));
- },
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Updates a campaign optimization rule.
- * @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {UpdateSPCampaignOptimizationRulesRequest} updateSPCampaignOptimizationRulesRequest
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- updateOptimizationRule(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, updateSPCampaignOptimizationRulesRequest: UpdateSPCampaignOptimizationRulesRequest, options?: any): AxiosPromise {
- return localVarFp.updateOptimizationRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, updateSPCampaignOptimizationRulesRequest, options).then((request) => request(axios, basePath));
- },
- };
-};
-
-/**
- * Request parameters for createOptimizationRule operation in CampaignOptimizationRulesApi.
- * @export
- * @interface CampaignOptimizationRulesApiCreateOptimizationRuleRequest
- */
-export interface CampaignOptimizationRulesApiCreateOptimizationRuleRequest {
- /**
- * The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiCreateOptimizationRule
- */
- readonly amazonAdvertisingAPIClientId: string
-
- /**
- * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiCreateOptimizationRule
- */
- readonly amazonAdvertisingAPIScope: string
-
- /**
- *
- * @type {CreateSPCampaignOptimizationRulesRequest}
- * @memberof CampaignOptimizationRulesApiCreateOptimizationRule
- */
- readonly createSPCampaignOptimizationRulesRequest: CreateSPCampaignOptimizationRulesRequest
-}
-
-/**
- * Request parameters for deleteCampaignOptimizationRule operation in CampaignOptimizationRulesApi.
- * @export
- * @interface CampaignOptimizationRulesApiDeleteCampaignOptimizationRuleRequest
- */
-export interface CampaignOptimizationRulesApiDeleteCampaignOptimizationRuleRequest {
- /**
- * The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiDeleteCampaignOptimizationRule
- */
- readonly amazonAdvertisingAPIClientId: string
-
- /**
- * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiDeleteCampaignOptimizationRule
- */
- readonly amazonAdvertisingAPIScope: string
-
- /**
- * The sp campaign optimization rule identifier.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiDeleteCampaignOptimizationRule
- */
- readonly campaignOptimizationId: string
-}
-
-/**
- * Request parameters for getCampaignOptimizationRule operation in CampaignOptimizationRulesApi.
- * @export
- * @interface CampaignOptimizationRulesApiGetCampaignOptimizationRuleRequest
- */
-export interface CampaignOptimizationRulesApiGetCampaignOptimizationRuleRequest {
- /**
- * The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetCampaignOptimizationRule
- */
- readonly amazonAdvertisingAPIClientId: string
-
- /**
- * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetCampaignOptimizationRule
- */
- readonly amazonAdvertisingAPIScope: string
-
- /**
- * The sp campaign optimization rule identifier.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetCampaignOptimizationRule
- */
- readonly campaignOptimizationId: string
-}
-
-/**
- * Request parameters for getOptimizationRuleEligibility operation in CampaignOptimizationRulesApi.
- * @export
- * @interface CampaignOptimizationRulesApiGetOptimizationRuleEligibilityRequest
- */
-export interface CampaignOptimizationRulesApiGetOptimizationRuleEligibilityRequest {
- /**
- * The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetOptimizationRuleEligibility
- */
- readonly amazonAdvertisingAPIClientId: string
-
- /**
- * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetOptimizationRuleEligibility
- */
- readonly amazonAdvertisingAPIScope: string
-
- /**
- *
- * @type {SPCampaignOptimizationRecommendationsAPIRequest}
- * @memberof CampaignOptimizationRulesApiGetOptimizationRuleEligibility
- */
- readonly sPCampaignOptimizationRecommendationsAPIRequest: SPCampaignOptimizationRecommendationsAPIRequest
-}
-
-/**
- * Request parameters for getRuleNotification operation in CampaignOptimizationRulesApi.
- * @export
- * @interface CampaignOptimizationRulesApiGetRuleNotificationRequest
- */
-export interface CampaignOptimizationRulesApiGetRuleNotificationRequest {
- /**
- * The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetRuleNotification
- */
- readonly amazonAdvertisingAPIClientId: string
-
- /**
- * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiGetRuleNotification
- */
- readonly amazonAdvertisingAPIScope: string
-
- /**
- *
- * @type {SPCampaignOptimizationNotificationAPIRequest}
- * @memberof CampaignOptimizationRulesApiGetRuleNotification
- */
- readonly sPCampaignOptimizationNotificationAPIRequest: SPCampaignOptimizationNotificationAPIRequest
-}
-
-/**
- * Request parameters for updateOptimizationRule operation in CampaignOptimizationRulesApi.
- * @export
- * @interface CampaignOptimizationRulesApiUpdateOptimizationRuleRequest
- */
-export interface CampaignOptimizationRulesApiUpdateOptimizationRuleRequest {
- /**
- * The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiUpdateOptimizationRule
- */
- readonly amazonAdvertisingAPIClientId: string
-
- /**
- * The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @type {string}
- * @memberof CampaignOptimizationRulesApiUpdateOptimizationRule
- */
- readonly amazonAdvertisingAPIScope: string
-
- /**
- *
- * @type {UpdateSPCampaignOptimizationRulesRequest}
- * @memberof CampaignOptimizationRulesApiUpdateOptimizationRule
- */
- readonly updateSPCampaignOptimizationRulesRequest: UpdateSPCampaignOptimizationRulesRequest
-}
-
-/**
- * CampaignOptimizationRulesApi - object-oriented interface
- * @export
- * @class CampaignOptimizationRulesApi
- * @extends {BaseAPI}
- */
-export class CampaignOptimizationRulesApi extends BaseAPI {
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Creates a campaign optimization rule.
- * @param {CampaignOptimizationRulesApiCreateOptimizationRuleRequest} requestParameters Request parameters.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof CampaignOptimizationRulesApi
- */
- public createOptimizationRule(requestParameters: CampaignOptimizationRulesApiCreateOptimizationRuleRequest, options?: any) {
- return CampaignOptimizationRulesApiFp(this.configuration).createOptimizationRule(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.createSPCampaignOptimizationRulesRequest, options).then((request) => request(this.axios, this.basePath));
- }
-
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Deletes a campaign optimization rule specified by identifier.
- * @param {CampaignOptimizationRulesApiDeleteCampaignOptimizationRuleRequest} requestParameters Request parameters.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof CampaignOptimizationRulesApi
- */
- public deleteCampaignOptimizationRule(requestParameters: CampaignOptimizationRulesApiDeleteCampaignOptimizationRuleRequest, options?: any) {
- return CampaignOptimizationRulesApiFp(this.configuration).deleteCampaignOptimizationRule(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.campaignOptimizationId, options).then((request) => request(this.axios, this.basePath));
- }
-
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule specified by identifier.
- * @param {CampaignOptimizationRulesApiGetCampaignOptimizationRuleRequest} requestParameters Request parameters.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof CampaignOptimizationRulesApi
- */
- public getCampaignOptimizationRule(requestParameters: CampaignOptimizationRulesApiGetCampaignOptimizationRuleRequest, options?: any) {
- return CampaignOptimizationRulesApiFp(this.configuration).getCampaignOptimizationRule(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.campaignOptimizationId, options).then((request) => request(this.axios, this.basePath));
- }
-
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets a campaign optimization rule recommendation for SP campaigns.
- * @param {CampaignOptimizationRulesApiGetOptimizationRuleEligibilityRequest} requestParameters Request parameters.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof CampaignOptimizationRulesApi
- */
- public getOptimizationRuleEligibility(requestParameters: CampaignOptimizationRulesApiGetOptimizationRuleEligibilityRequest, options?: any) {
- return CampaignOptimizationRulesApiFp(this.configuration).getOptimizationRuleEligibility(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sPCampaignOptimizationRecommendationsAPIRequest, options).then((request) => request(this.axios, this.basePath));
- }
-
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
- * @summary Gets campaign optimization rule state. Recommended refresh frequency is once a day.
- * @param {CampaignOptimizationRulesApiGetRuleNotificationRequest} requestParameters Request parameters.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof CampaignOptimizationRulesApi
- */
- public getRuleNotification(requestParameters: CampaignOptimizationRulesApiGetRuleNotificationRequest, options?: any) {
- return CampaignOptimizationRulesApiFp(this.configuration).getRuleNotification(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sPCampaignOptimizationNotificationAPIRequest, options).then((request) => request(this.axios, this.basePath));
- }
-
- /**
- * **Requires one of these permissions**: [\"advertiser_campaign_edit\"]
- * @summary Updates a campaign optimization rule.
- * @param {CampaignOptimizationRulesApiUpdateOptimizationRuleRequest} requestParameters Request parameters.
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof CampaignOptimizationRulesApi
- */
- public updateOptimizationRule(requestParameters: CampaignOptimizationRulesApiUpdateOptimizationRuleRequest, options?: any) {
- return CampaignOptimizationRulesApiFp(this.configuration).updateOptimizationRule(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.updateSPCampaignOptimizationRulesRequest, options).then((request) => request(this.axios, this.basePath));
- }
-}
-
-
/**
* CampaignsApi - axios parameter creator
* @export
@@ -26108,17 +24945,17 @@ export class ConsolidatedRecommendationsApi extends BaseAPI {
/**
- * KeywordRecommendationsApi - axios parameter creator
+ * KeywordTargetsApi - axios parameter creator
* @export
*/
-export const KeywordRecommendationsApiAxiosParamCreator = function (configuration?: Configuration) {
+export const KeywordTargetsApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
- * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also have added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
+ * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
* @summary Get keyword recommendations
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} [amazonAdvertisingAPIMarketplaceId] The advertiser\'s Marketplace ID associated with the advertiser account.
+ * @param {string} [amazonAdvertisingAPIMarketplaceId] The advertiser\'s Marketplace ID associated with the advertiser. account.
* @param {string} [amazonAdvertisingAPIAdvertiserId] The advertiser\'s ID associated with the advertiser account.
* @param {AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest} [adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest]
* @param {*} [options] Override http request option.
@@ -26175,24 +25012,24 @@ export const KeywordRecommendationsApiAxiosParamCreator = function (configuratio
};
/**
- * KeywordRecommendationsApi - functional programming interface
+ * KeywordTargetsApi - functional programming interface
* @export
*/
-export const KeywordRecommendationsApiFp = function(configuration?: Configuration) {
- const localVarAxiosParamCreator = KeywordRecommendationsApiAxiosParamCreator(configuration)
+export const KeywordTargetsApiFp = function(configuration?: Configuration) {
+ const localVarAxiosParamCreator = KeywordTargetsApiAxiosParamCreator(configuration)
return {
/**
- * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also have added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
+ * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
* @summary Get keyword recommendations
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} [amazonAdvertisingAPIMarketplaceId] The advertiser\'s Marketplace ID associated with the advertiser account.
+ * @param {string} [amazonAdvertisingAPIMarketplaceId] The advertiser\'s Marketplace ID associated with the advertiser. account.
* @param {string} [amazonAdvertisingAPIAdvertiserId] The advertiser\'s ID associated with the advertiser account.
* @param {AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest} [adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async getRankedKeywordRecommendation(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, amazonAdvertisingAPIMarketplaceId?: string, amazonAdvertisingAPIAdvertiserId?: string, adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest?: AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {
+ async getRankedKeywordRecommendation(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, amazonAdvertisingAPIMarketplaceId?: string, amazonAdvertisingAPIAdvertiserId?: string, adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest?: AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getRankedKeywordRecommendation(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, amazonAdvertisingAPIMarketplaceId, amazonAdvertisingAPIAdvertiserId, adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@@ -26200,88 +25037,88 @@ export const KeywordRecommendationsApiFp = function(configuration?: Configuratio
};
/**
- * KeywordRecommendationsApi - factory interface
+ * KeywordTargetsApi - factory interface
* @export
*/
-export const KeywordRecommendationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
- const localVarFp = KeywordRecommendationsApiFp(configuration)
+export const KeywordTargetsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+ const localVarFp = KeywordTargetsApiFp(configuration)
return {
/**
- * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also have added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
+ * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
* @summary Get keyword recommendations
* @param {string} amazonAdvertisingAPIClientId The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @param {string} amazonAdvertisingAPIScope The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
- * @param {string} [amazonAdvertisingAPIMarketplaceId] The advertiser\'s Marketplace ID associated with the advertiser account.
+ * @param {string} [amazonAdvertisingAPIMarketplaceId] The advertiser\'s Marketplace ID associated with the advertiser. account.
* @param {string} [amazonAdvertisingAPIAdvertiserId] The advertiser\'s ID associated with the advertiser account.
* @param {AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest} [adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- getRankedKeywordRecommendation(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, amazonAdvertisingAPIMarketplaceId?: string, amazonAdvertisingAPIAdvertiserId?: string, adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest?: AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest, options?: any): AxiosPromise> {
+ getRankedKeywordRecommendation(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, amazonAdvertisingAPIMarketplaceId?: string, amazonAdvertisingAPIAdvertiserId?: string, adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest?: AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest, options?: any): AxiosPromise {
return localVarFp.getRankedKeywordRecommendation(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, amazonAdvertisingAPIMarketplaceId, amazonAdvertisingAPIAdvertiserId, adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest, options).then((request) => request(axios, basePath));
},
};
};
/**
- * Request parameters for getRankedKeywordRecommendation operation in KeywordRecommendationsApi.
+ * Request parameters for getRankedKeywordRecommendation operation in KeywordTargetsApi.
* @export
- * @interface KeywordRecommendationsApiGetRankedKeywordRecommendationRequest
+ * @interface KeywordTargetsApiGetRankedKeywordRecommendationRequest
*/
-export interface KeywordRecommendationsApiGetRankedKeywordRecommendationRequest {
+export interface KeywordTargetsApiGetRankedKeywordRecommendationRequest {
/**
* The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.
* @type {string}
- * @memberof KeywordRecommendationsApiGetRankedKeywordRecommendation
+ * @memberof KeywordTargetsApiGetRankedKeywordRecommendation
*/
readonly amazonAdvertisingAPIClientId: string
/**
* The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.
* @type {string}
- * @memberof KeywordRecommendationsApiGetRankedKeywordRecommendation
+ * @memberof KeywordTargetsApiGetRankedKeywordRecommendation
*/
readonly amazonAdvertisingAPIScope: string
/**
- * The advertiser\'s Marketplace ID associated with the advertiser account.
+ * The advertiser\'s Marketplace ID associated with the advertiser. account.
* @type {string}
- * @memberof KeywordRecommendationsApiGetRankedKeywordRecommendation
+ * @memberof KeywordTargetsApiGetRankedKeywordRecommendation
*/
readonly amazonAdvertisingAPIMarketplaceId?: string
/**
* The advertiser\'s ID associated with the advertiser account.
* @type {string}
- * @memberof KeywordRecommendationsApiGetRankedKeywordRecommendation
+ * @memberof KeywordTargetsApiGetRankedKeywordRecommendation
*/
readonly amazonAdvertisingAPIAdvertiserId?: string
/**
*
* @type {AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest}
- * @memberof KeywordRecommendationsApiGetRankedKeywordRecommendation
+ * @memberof KeywordTargetsApiGetRankedKeywordRecommendation
*/
readonly adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest?: AdGroupKeywordTargetRankRecommendationRequest | AsinsKeywordTargetRankRecommendationRequest
}
/**
- * KeywordRecommendationsApi - object-oriented interface
+ * KeywordTargetsApi - object-oriented interface
* @export
- * @class KeywordRecommendationsApi
+ * @class KeywordTargetsApi
* @extends {BaseAPI}
*/
-export class KeywordRecommendationsApi extends BaseAPI {
+export class KeywordTargetsApi extends BaseAPI {
/**
- * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also have added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
+ * The POST /sp/targets/keywords/recommendations endpoint returns recommended keyword targets given either A) a list of ad ASINs or B) a campaign ID and ad group ID. Please use the recommendationType field to specify if you want to use option A or option B. This endpoint will also return recommended bids along with each recommendation keyword target.
Ranking
The keyword recommendations will be ranked in descending order of clicks or impressions, depending on the sortDimension field provided by the user. You may also input your own keyword targets to be ranked alongside the keyword recommendations by using the targets array.
Localization
Use the locale field to get keywords in your specified locale. Supported marketplace to locale mappings can be found at the POST /keywords/localize endpoint. Version 5.0
New Features
Version 5.0 utilizes the new theme-based bid recommendations, which can be retrieved at the endpoint /sp/targets/bid/recommendations, to return improved bid recommendations for each keyword. Theme-based bid recommendations provide \\\\\\\"themes\\\\\\\" and \\\\\\\"impact metrics\\\\\\\" along with each bid suggestion to help you choose the right bid for your keyword target.
Themes
We now may return multiple bid suggestions for each keyword target. Each suggestion will have a theme to express the business objective of the bid. Available themes are: - CONVERSION_OPPORTUNITIES - The default theme which aims to maximize number of conversions.
- SPECIAL_DAYS - A theme available during high sales events such as Prime Day, to anticipate an increase in sales and competition.
Impact Metrics
We have added impact metrics which provide insight on the number of clicks and conversions you will receive for targeting a keyword at a certain bid.
Bidding Strategy
You may now specify your bidding strategy in the KEYWORDS_BY_ASINS request to get bid suggestions tailored to your bidding strategy. For KEYWORDS_BY_ADGROUP requests, you will not specify a bidding strategy, because the bidding strategy of the ad group is used. The three bidding strategies are: - LEGACY_FOR_SALES - Dynamic bids (down only)
- AUTO_FOR_SALES - Dynamic bids (up and down)
- MANUAL - Fixed bids
Availability
Version 5.0 is only available in the following marketplaces: US, CA, UK, DE, FR, ES, IN, JP. Version 4.0
New features
Version 4.0 allows users to retrieve recommended keyword targets which are sorted in descending order of clicks or conversions. The default sort dimension, if not specified, ranks recommendations by our interal ranking mechanism. We have also added search term metrics. Search term impression share indicates the percentage share of all ad-attributed impressions you received on that keyword in the last 30 days. This metric helps advertisers identify potential opportunities based on their share on relevant keywords. Search term impression rank indicates your ranking among all advertisers for the keyword by ad impressions in a marketplace. It tells an advertiser how many advertisers had higher share of ad impressions. Search term information is only available for keywords the advertiser targeted with ad impressions. Availability
Version 4.0 is available in all marketplaces. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]
* @summary Get keyword recommendations
- * @param {KeywordRecommendationsApiGetRankedKeywordRecommendationRequest} requestParameters Request parameters.
+ * @param {KeywordTargetsApiGetRankedKeywordRecommendationRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
- * @memberof KeywordRecommendationsApi
+ * @memberof KeywordTargetsApi
*/
- public getRankedKeywordRecommendation(requestParameters: KeywordRecommendationsApiGetRankedKeywordRecommendationRequest, options?: any) {
- return KeywordRecommendationsApiFp(this.configuration).getRankedKeywordRecommendation(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.amazonAdvertisingAPIMarketplaceId, requestParameters.amazonAdvertisingAPIAdvertiserId, requestParameters.adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest, options).then((request) => request(this.axios, this.basePath));
+ public getRankedKeywordRecommendation(requestParameters: KeywordTargetsApiGetRankedKeywordRecommendationRequest, options?: any) {
+ return KeywordTargetsApiFp(this.configuration).getRankedKeywordRecommendation(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.amazonAdvertisingAPIMarketplaceId, requestParameters.amazonAdvertisingAPIAdvertiserId, requestParameters.adGroupKeywordTargetRankRecommendationRequestAsinsKeywordTargetRankRecommendationRequest, options).then((request) => request(this.axios, this.basePath));
}
}