diff --git a/docs/schemas/attribution.json b/docs/schemas/attribution.json index b3377fc..e7a2964 100644 --- a/docs/schemas/attribution.json +++ b/docs/schemas/attribution.json @@ -453,18 +453,10 @@ "description": "The identifier of a publisher that does not support macros.", "type": "string" }, - "MaaSError": { - "description": "The error response object.", - "type": "object", - "properties": { - "code": { - "description": "The HTTP status code of the response. Possible value of code is \"200\", \"207\", \"400\", \"401\", \"429\", \"403\", or \"500\".", - "type": "string" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" - } + "macroPublishers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/macroPublisher" } }, "PublishersResponse": { @@ -479,10 +471,18 @@ } } }, - "macroPublishers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/macroPublisher" + "MaaSError": { + "description": "The error response object.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response. Possible value of code is \"200\", \"207\", \"400\", \"401\", \"429\", \"403\", or \"500\".", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } } }, "nonMacroPublishers": { @@ -631,7 +631,7 @@ "minimum": 1 }, "metrics": { - "description": "A comma-delimited list of metrics to include in the report. In the report, each metric’s value reflects the events which took place on the row’s date; in other words, events are reported on the date they occurred, not on the date of the attributed click. Attribution is calculated using a 14-day last-click model. For more detail on attribution methodology, see the [Measurement](https://advertising.amazon.com/API/docs/en-us/amazon-attribution/how-to#measurement) section of the API guide. View the list of available metrics for each report type below.\"Promoted products\" refers to products associated with the campaign.\n|Metrics for reportType`PERFORMANCE`|\n|-------------------|\n\n|Metric |Description|\n|--------|-----------|\n|Click-throughs|Ad clicks.|\n|attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted product.|\n|attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.|\n|attributedPurchases14d|Ad click-attributed purchases for promoted products.|\n|unitsSold14d|Ad click-attributed units sold for promoted products.|\n|attributedSales14d|Ad click-attributed sales for promoted products in local currency.|\n|attributedTotalDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products plus brand halo products.|\n|attributedTotalAddToCartClicks14d|Ad click-attributed add to carts for promoted products plus brand halo products.|\n|attributedTotalPurchases14d|Ad click-attributed purchases for promoted products plus brand halo products.|\n|totalUnitsSold14d|Ad click-attributed units sold for promoted products plus brand halo products.|\n|totalAttributedSales14d|Ad click-attributed attributed sales for promoted products plus brand halo products.|\n|brb_bonus_amount|Estimated ad-attributed Brand Referral Bonus credit amount in local currency. Will be omitted from response if advertiser is not a BRB-enrolled seller or request does not include a ‘metrics’ list. Requests for this metric must groupBy ADGROUP or CAMPAIGN, or will result in an error 400. Please refer to to learn more about BRB program.|\n\n|Metrics for reportType`PRODUCTS`|\n|-------------------|\n\n|Metric |Description|\n|--------|-----------|\n|attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products.|\n|attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.|\n|attributedPurchases14d|Ad click-attributed purchases for promoted products.|\n|unitsSold14d|Ad click-attributed units sold for promoted products.|\n|attributedSales14d|Ad click-attributed sales for promoted products in local currency.|\n|brandHaloDetailPageViewsClicks14d|Ad click-attributed detail page views for brand halo products.|\n|brandHaloAttributedAddToCartClicks14d|Ad click-attributed add to carts for brand halo products.|\n|brandHaloAttributedPurchases14d|Ad click-attributed purchases for brand halo products.|\n|brandHaloUnitsSold14d|Ad click-attributed units sold for brand halo products.|\n|brandHaloAttributedSales14d|Ad click-attributed attributed sales for brand halo products.|\n|attributedNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|attributedNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|attributedNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for promoted products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|brandHaloNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|brandHaloNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|brandHaloNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for brand halo products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|", + "description": "A comma-delimited list of metrics to include in the report. In the report, each metric’s value reflects the events which took place on the row’s date; in other words, events are reported on the date they occurred, not on the date of the attributed click. Attribution is calculated using a 14-day last-click model. For more detail on attribution methodology, see the [Measurement](https://advertising.amazon.com/API/docs/en-us/amazon-attribution/how-to#measurement) section of the API guide. View the list of available metrics for each report type below.\"Promoted products\" refers to products associated with the campaign.\n|Metrics for reportType`PERFORMANCE`|\n|-------------------|\n\n|Metric |Description|\n|--------|-----------|\n|Click-throughs|Ad clicks.|\n|attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted product.|\n|attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.|\n|attributedPurchases14d|Ad click-attributed purchases for promoted products.|\n|unitsSold14d|Ad click-attributed units sold for promoted products.|\n|attributedSales14d|Ad click-attributed sales for promoted products in local currency.|\n|attributedTotalDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products plus brand halo products.|\n|attributedTotalAddToCartClicks14d|Ad click-attributed add to carts for promoted products plus brand halo products.|\n|attributedTotalPurchases14d|Ad click-attributed purchases for promoted products plus brand halo products.|\n|totalUnitsSold14d|Ad click-attributed units sold for promoted products plus brand halo products.|\n|totalAttributedSales14d|Ad click-attributed attributed sales for promoted products plus brand halo products.|\n|attributedPagesRead14d| The no of pages read attributed to ad click-throughs within 14 days.|\n|attributedRoyaltyAmount14d|Royalty amount attributed to ad click-throughs within 14 days.|\n|brb_bonus_amount|Estimated ad-attributed Brand Referral Bonus credit amount in local currency. Will be omitted from response if advertiser is not a BRB-enrolled seller or request does not include a ‘metrics’ list. Requests for this metric must groupBy ADGROUP or CAMPAIGN, or will result in an error 400. Please refer to to learn more about BRB program.|\n|kindleEditionNormalizedPagesRead14d| Number of attributed Kindle edition pages read within 14 days of ad click.|\n|kindleEditionNormalizedPagesRoyalties14d|The estimated royalties of attributed estimated Kindle edition normalized pages within 14 days of ad click.|\n\n|Metrics for reportType`PRODUCTS`|\n|-------------------|\n\n|Metric |Description|\n|--------|-----------|\n|attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products.|\n|attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.|\n|attributedPurchases14d|Ad click-attributed purchases for promoted products.|\n|unitsSold14d|Ad click-attributed units sold for promoted products.|\n|attributedSales14d|Ad click-attributed sales for promoted products in local currency.|\n|brandHaloDetailPageViewsClicks14d|Ad click-attributed detail page views for brand halo products.|\n|brandHaloAttributedAddToCartClicks14d|Ad click-attributed add to carts for brand halo products.|\n|brandHaloAttributedPurchases14d|Ad click-attributed purchases for brand halo products.|\n|brandHaloUnitsSold14d|Ad click-attributed units sold for brand halo products.|\n|brandHaloAttributedSales14d|Ad click-attributed attributed sales for brand halo products.|\n|attributedNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|attributedNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|attributedNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for promoted products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|brandHaloNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|brandHaloNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|brandHaloNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for brand halo products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.|\n|kindleEditionNormalizedPagesRead14d| The no of pages read attributed to ad click-throughs within 14 days.|\n|kindleEditionNormalizedPagesRoyalties14d|The estimated royalties of attributed estimated Kindle edition normalized pages within 14 days of ad click.|", "type": "string" }, "groupBy": { @@ -675,10 +675,6 @@ } } }, - "macroPublisher": { - "description": "The identifier of a macro publisher.", - "type": "string" - }, "AdvertiserResponse": { "type": "object", "properties": { @@ -689,6 +685,10 @@ } } } + }, + "macroPublisher": { + "description": "The identifier of a macro publisher.", + "type": "string" } }, "requestBodies": {}, 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/authorization-profiles.json b/docs/schemas/authorization-profiles.json index 9de5c29..e853df7 100644 --- a/docs/schemas/authorization-profiles.json +++ b/docs/schemas/authorization-profiles.json @@ -51,7 +51,8 @@ "report", "account", "posts" - ] + ], + "default": "campaign" } }, { @@ -63,7 +64,8 @@ "enum": [ "edit", "view" - ] + ], + "default": "edit" } }, { @@ -240,7 +242,7 @@ "name": { "type": "string", "readOnly": true, - "description": "Account Name. Not currently populated for sellers." + "description": "Account name." }, "subType": { "type": "string", @@ -261,26 +263,29 @@ "countryCode": { "type": "string", "readOnly": true, - "description": "The countryCode for a given country\n|Region|`countryCode`|Country Name|\n|------|-----|-------|\n|NA|US|United States|\n|NA|CA|Canada|\n|NA|MX|Mexico|\n|NA|BR|Brazil|\n|EU|UK|United Kingdom|\n|EU|EG|Egypt|\n|EU|DE|Germany|\n|EU|FR|France|\n|EU|ES|Spain|\n|EU|IT|Italy|\n|EU|NL|The Netherlands|\n|EU|AE|United Arab Emirates|\n|EU|SE|Sweden|\n|EU|SE|Sweden|\n|EU|PL|Poland|\n|EU|TR|Turkey| \n|FE|JP|Japan|\n|FE|AU|Australia|\n|FE|SG|Singapore|", + "description": "The countryCode for a given country\n|Region|`countryCode`|Country Name|\n|------|-----|-------|\n|NA|BR|Brazil|\n|NA|CA|Canada|\n|NA|MX|Mexico|\n|NA|US|United States|\n|EU|AE|United Arab Emirates|\n|EU|BE|Belgium| \n|EU|DE|Germany|\n|EU|EG|Egypt|\n|EU|ES|Spain|\n|EU|FR|France|\n|EU|IN|India|\n|EU|IT|Italy|\n|EU|NL|The Netherlands|\n|EU|PL|Poland|\n|EU|SA|Saudi Arabia| \n|EU|SE|Sweden| \n|EU|TR|Turkey|\n|EU|UK|United Kingdom|\n|FE|AU|Australia| \n|FE|JP|Japan|\n|FE|SG|Singapore|", "enum": [ - "US", + "BR", "CA", "MX", - "BR", - "UK", - "EG", + "US", + "AE", + "BE", "DE", - "FR", + "EG", "ES", + "FR", + "IN", "IT", "NL", - "JP", - "AU", - "AE", - "SG", - "SE", "PL", - "TR" + "SA", + "SE", + "TR", + "UK", + "AU", + "JP", + "SG" ] }, "Profile": { @@ -295,22 +300,24 @@ "currencyCode": { "type": "string", "readOnly": true, - "description": "The currency used for all monetary values for entities under this profile.\n|Region|`countryCode`|Country Name|`currencyCode`|\n|-----|------|------|------|\n|NA|US|United States|USD|\n|NA|CA|Canada|CAD|\n|NA|MX|Mexico|MXN|\n|NA|BR|Brazil|BRL|\n|EU|UK|United Kingdom|GBP|\n|EU|EG|Egypt|EGP|\n|EU|DE|Germany|EUR|\n|EU|FR|France|EUR|\n|EU|ES|Spain|EUR|\n|EU|IT|Italy|EUR|\n|EU|NL|The Netherlands|EUR|\n|EU|SE|Sweden|SEK|\n|EU|PL|Poland|PLN|\n|EU|AE|United Arab Emirates|AED|\n|EU|TR|Turkey|TRY|\n|FE|JP|Japan|JPY|\n|FE|AU|Australia|AUD|\n|FE|SG|Singapore|SGD|", + "description": "The currency used for all monetary values for entities under this profile.\n|Region|`countryCode`|Country Name|`currencyCode`|\n|-----|------|------|------|\n|NA|BR|Brazil|BRL|\n|NA|CA|Canada|CAD|\n|NA|MX|Mexico|MXN|\n|NA|US|United States|USD|\n|EU|AE|United Arab Emirates|AED|\n|EU|BE|Belgium|EUR|\n|EU|DE|Germany|EUR|\n|EU|EG|Egypt|EGP|\n|EU|ES|Spain|EUR|\n|EU|FR|France|EUR|\n|EU|IN|India|INR|\n|EU|IT|Italy|EUR|\n|EU|NL|The Netherlands|EUR|\n|EU|PL|Poland|PLN|\n|EU|SA|Saudi Arabia|SAR|\n|EU|SE|Sweden|SEK|\n|EU|TR|Turkey|TRY|\n|EU|UK|United Kingdom|GBP|\n|FE|AU|Australia|AUD|\n|FE|JP|Japan|JPY|\n|FE|SG|Singapore|SGD|", "enum": [ - "USD", + "BRL", "CAD", "MXN", - "BRL", - "GBP", - "EGP", - "JPY", - "EUR", - "AUD", + "USD", "AED", - "SEK", + "EUR", + "EGP", + "INR", "PLN", - "SGD", - "TRY" + "SAR", + "SEK", + "TRY", + "GBP", + "AUD", + "JPY", + "SGD" ] }, "dailyBudget": { @@ -321,20 +328,23 @@ "timezone": { "type": "string", "readOnly": true, - "description": "The time zone used for all date-based campaign management and reporting.\n|Region|`countryCode`|Country Name|`timezone`|\n|------|-----|-----|------|\n|NA|US|United States|America/Los_Angeles|\n|NA|CA|Canada|America/Los_Angeles|\n|NA|MX|Mexico|America/Los_Angeles|\n|NA|BR|Brazil|America/Sao_Paulo|\n|EU|UK|United Kingdom|Europe/London|\n|EU|EG|Egypt|Africa/Cairo|\n|EU|DE|Germany|Europe/Paris|\n|EU|FR|France|Europe/Paris|\n|EU|ES|Spain|Europe/Paris|\n|EU|IT|Italy|Europe/Paris|\n|EU|NL|The Netherlands|Europe/Paris|\n|EU|SE|Sweden|Europe/Stockholm|\n|EU|PL|Poland|Europe/Warsaw|\n|EU|AE|United Arab Emirates|Asia/Dubai|\n|EU|TR|Turkey|Europe/Istanbul|\n|FE|JP|Japan|Asia/Tokyo|\n|FE|AU|Australia|Australia/Sydney|\n|FE|SG|Singapore|Asia/Singapore|", + "description": "The time zone used for all date-based campaign management and reporting.\n|Region|`countryCode`|Country Name|`timezone`|\n|------|-----|-----|------|\n|NA|BR|Brazil|America/Sao_Paulo|\n|NA|CA|Canada|America/Los_Angeles|\n|NA|MX|Mexico|America/Los_Angeles|\n|NA|US|United States|America/Los_Angeles|\n|EU|AE|United Arab Emirates|Asia/Dubai|\n|EU|BE|Belgium|Europe/Paris|\n|EU|DE|Germany|Europe/Paris|\n|EU|EG|Egypt|Africa/Cairo|\n|EU|ES|Spain|Europe/Paris|\n|EU|FR|France|Europe/Paris|\n|EU|IN|India|Asia/Kolkata|\n|EU|IT|Italy|Europe/Paris|\n|EU|NL|The Netherlands|Europe/Amsterdam|\n|EU|PL|Poland|Europe/Warsaw|\n|EU|SA|Saudi Arabia|Asia/Riyadh|\n|EU|SE|Sweden|Europe/Stockholm|\n|EU|TR|Turkey|Europe/Istanbul|\n|EU|UK|United Kingdom|Europe/London|\n|FE|AU|Australia|Australia/Sydney|\n|FE|JP|Japan|Asia/Tokyo|\n|FE|SG|Singapore|Asia/Singapore|", "enum": [ "Africa/Cairo", - "America/Los_Angeles", "America/Sao_Paulo", - "Europe/London", - "Europe/Stockholm", - "Europe/Paris", - "Europe/Warsaw", - "Europe/Istanbul", + "America/Los_Angeles", + "Asia/Dubai", + "Asia/Kolkata", + "Asia/Riyadh", + "Asia/Singapore", "Asia/Tokyo", "Australia/Sydney", - "Asia/Dubai", - "Asia/Singapore" + "Europe/Amsterdam", + "Europe/Istanbul", + "Europe/London", + "Europe/Paris", + "Europe/Stockholm", + "Europe/Warsaw" ] }, "accountInfo": { diff --git a/docs/schemas/common-audiences.json b/docs/schemas/common-audiences.json index 3f81ed9..872062d 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 'audienceName' is a broad match filter but not an exact match. 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" @@ -346,7 +346,19 @@ "description": "Base currency, such as US Dollar.", "type": "string", "enum": [ - "USD" + "USD", + "CAD", + "GBP", + "EUR", + "JPY", + "INR", + "MXN", + "AUD", + "AED", + "KSA", + "BRL", + "SEK", + "TRY" ] }, "feeCalculationType": { @@ -359,6 +371,10 @@ } } } + }, + "providerId": { + "description": "The Data Management Platform provider identifier. Only applicable to Third party audience segments.", + "type": "string" } } }, @@ -465,16 +481,6 @@ } } }, - "AudienceV1": { - "allOf": [ - { - "$ref": "#/components/schemas/AudienceCommonFieldsV1" - }, - { - "type": "object" - } - ] - }, "AudienceErrorV1": { "description": "The error response object.", "type": "object", @@ -495,6 +501,16 @@ } } }, + "AudienceV1": { + "allOf": [ + { + "$ref": "#/components/schemas/AudienceCommonFieldsV1" + }, + { + "type": "object" + } + ] + }, "AudienceSubErrorV1": { "description": "The sub error object.", "type": "object", diff --git a/docs/schemas/common-billing.json b/docs/schemas/common-billing.json index 1f2c053..31ff334 100644 --- a/docs/schemas/common-billing.json +++ b/docs/schemas/common-billing.json @@ -19,7 +19,7 @@ "required": true }, "operationId": "bulkGetBillingStatus", - "description": "Gets the current billing status associated for each advertising account.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "description": "Gets the current billing status associated for each advertising account.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"]", "responses": { "200": { "description": "Successful", @@ -269,7 +269,7 @@ "required": true }, "operationId": "bulkGetBillingNotifications", - "description": "Gets an array of all currently valid billing notifications associated for each advertising account.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "description": "Gets an array of all currently valid billing notifications associated for each advertising account.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"]", "responses": { "200": { "description": "Successful Request", @@ -421,7 +421,7 @@ "properties": { "advertiserMarketplaces": { "minItems": 1, - "maxItems": 100, + "maxItems": 30, "type": "array", "items": { "$ref": "#/components/schemas/advertiserMarketplace" @@ -437,12 +437,9 @@ "type": "object", "required": [ "amountDue", - "dueDate", "fromDate", "id", "invoiceDate", - "paymentMethod", - "purchaseOrderNumber", "remainingAmountDue", "status", "toDate" @@ -546,14 +543,16 @@ } }, "feeType": { - "description": "* `PLATFORM_FEE`: Billable fee set at the Rodeo Entity level by internal users which reflects the cost of using the Amazon DSP\n * Supply Cost * Platform Fee %\n* `AGENCY_FEE`: Non-billable fee set at the Rodeo Order level by external users which reflects the fee that the agency is charging the end customer\n * Total Cost * Agency Fee %\n* `AUDIENCE_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Amazon 1P data segments for campaign targeting\n * Impressions with Audience Fees * Audience Fee (CPM)/1000\n* `3P_[AUTO_]NON_ABSORBED_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Automotive data segments and/or DMP data segments for campaign targeting\n * Impressions * Billable 3p Fee / 1000\n* `REGULATORY_ADVERTISING_FEE`: Fees derive from ads serving in specific countries and/or for ads purchased from advertisers in specific countries during the period in which you are billed.\n", + "description": "* `PLATFORM_FEE`: Billable fee set at the Rodeo Entity level by internal users which reflects the cost of using the Amazon DSP\n * Supply Cost * Platform Fee %\n* `AGENCY_FEE`: Non-billable fee set at the Rodeo Order level by external users which reflects the fee that the agency is charging the end customer\n * Total Cost * Agency Fee %\n* `AUDIENCE_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Amazon 1P data segments for campaign targeting\n * Impressions with Audience Fees * Audience Fee (CPM)/1000\n* `3P_[AUTO_]NON_ABSORBED_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Automotive data segments and/or DMP data segments for campaign targeting\n * Impressions * Billable 3p Fee / 1000\n* `REGULATORY_ADVERTISING_FEE`: Fees derive from ads serving in specific countries and/or for ads purchased from advertisers in specific countries during the period in which you are billed.\n* `OMNICHANNEL_METRICS_FEE`: Billable fee set at DSP order level by internal users, which reflects the cost of using Omnichannel metrics measurement\n * Supply Cost * Omnichannel Metrics Fee %\n* `3P_PREBID_FEE`: Billable fee automatically calculated when external users choose third party prebid targeting products for supply quality filtering.\n * Impressions with 3P Prebid Fees * 3P Prebid Fee (CPM)/1000 %\n", "type": "string", "enum": [ "AUDIENCE_FEE", "3P_AUTO_NON_ABSORBED_FEE", "3P_NON_ABSORBED_FEE", "PLATFORM_FEE", - "REGULATORY_ADVERTISING_FEE" + "OMNICHANNEL_METRICS_FEE", + "REGULATORY_ADVERTISING_FEE", + "3P_PREBID_FEE" ] } } @@ -568,7 +567,7 @@ "properties": { "advertiserMarketplaces": { "minItems": 1, - "maxItems": 100, + "maxItems": 30, "type": "array", "items": { "$ref": "#/components/schemas/advertiserMarketplace" @@ -616,14 +615,6 @@ } } }, - "invoiceLines": { - "description": "Line items for this invoice. For Sponsored Ads, this will be a per-campaign breakdown of charges. For DSP, this will be the line items for the campaign getting invoiced.", - "title": "Invoice Lines", - "type": "array", - "items": { - "$ref": "#/components/schemas/invoiceLine" - } - }, "paymentDetail": { "title": "Payment Detail", "type": "object", @@ -653,6 +644,14 @@ } } }, + "invoiceLines": { + "description": "Line items for this invoice. For Sponsored Ads, this will be a per-campaign breakdown of charges. For DSP, this will be the line items for the campaign getting invoiced.", + "title": "Invoice Lines", + "type": "array", + "items": { + "$ref": "#/components/schemas/invoiceLine" + } + }, "portfolio": { "title": "Portfolio", "type": "object", @@ -732,6 +731,8 @@ "title": "Billing Notification Names", "enum": [ "ACCOUNT_ERROR", + "BAD_DEBT_SUSPENSION", + "BILLING_ADDRESS_REGISTRATION_NOT_FOUND", "CNPJ_VERIFICATION_IN_PROGRESS", "CREDIT_CARD_CHARGE_DISPUTE_CAUSED_SUSPENSION", "CREDIT_CARD_EXPIRED", @@ -755,7 +756,9 @@ "PAY_BY_INVOICE_OVERDUE_PAYMENT", "PAY_BY_INVOICE_UPCOMING_PAYMENT", "PENDING_PAYMENT_REGISTRATION", + "DIRECT_DEBIT_PAYMENT_PENDING", "PENDING_VALID_CNPJ_REGISTRATION", + "POLICY_VIOLATIONS", "STORED_VALUE_AUTO_RELOAD_PAYMENT_FAILURE", "SELLER_ACCOUNT_INSUFFICIENT_AVAILABLE_BALANCE_CAUSED_SUSPENSION", "SELLER_ACCOUNT_INSUFFICIENT_GROSS_BALANCE_CAUSED_SUSPENSION", @@ -817,6 +820,16 @@ } } }, + "advertiserTypes": { + "type": "string", + "title": "Advertiser Types", + "enum": [ + "VENDOR", + "SELLER", + "DSP_ADVERTISING_ACCOUNT", + "AGENCY" + ] + }, "bulkGetBillingStatusError": { "type": "object", "title": "Bulk Get Billing Status Error", @@ -887,15 +900,24 @@ "title": "Locale", "enum": [ "ar_AE", + "bn_IN", "cs_CZ", "de_DE", + "en_AE", "en_AU", "en_CA", "en_GB", "en_IN", + "en_NG", "en_SG", + "en_US", + "en_ZA", + "es_CL", + "es_CO", "es_ES", "es_MX", + "es_US", + "fr_BE", "fr_CA", "fr_FR", "he_IL", @@ -903,11 +925,16 @@ "it_IT", "ja_JP", "ko_KR", + "ml_IN", + "mr_IN", + "nl_BE", "nl_NL", "pl_PL", "pt_BR", + "pt_PT", "sv_SE", "ta_IN", + "te_IN", "tr_TR", "zh_CN", "zh_TW" @@ -1008,7 +1035,7 @@ "type": "integer" }, "errorCode": { - "$ref": "bulkGetBillingNotificationsErrorCodes" + "$ref": "#/components/schemas/bulkGetBillingNotificationsErrorCodes" }, "description": { "type": "string" @@ -1073,7 +1100,7 @@ "properties": { "success": { "minItems": 0, - "maxItems": 100, + "maxItems": 30, "type": "array", "items": { "$ref": "#/components/schemas/bulkGetBillingStatusSuccess" @@ -1081,7 +1108,7 @@ }, "error": { "minItems": 0, - "maxItems": 100, + "maxItems": 30, "type": "array", "items": { "$ref": "#/components/schemas/bulkGetBillingStatusError" @@ -1249,27 +1276,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 +1327,35 @@ } } }, + "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 (which will always be a debit in the case of an invoice) and presigned url link to download e-invoice document with expiry time of 45 sec.\n", + "title": "Government Invoice Information", + "type": "object", + "properties": { + "transactionType": { + "type": "string", + "enum": [ + "DEBIT", + "CREDIT" + ] + }, + "countryCode": { + "$ref": "#/components/schemas/countryCode" + }, + "governmentDocumentS3Link": { + "description": "PreSigned URL to grant time-limited download access for govt invoice pdf", + "type": "string" + }, + "governmentXmlDocumentS3Link": { + "description": "PreSigned URL to grant time-limited download access for govt invoice XML", + "type": "string" + }, + "governmentInvoiceId": { + "description": "Government generated ID", + "type": "string" + } + } + }, "advertiserMarketplace": { "type": "object", "title": "Advertiser Marketplace", @@ -1332,6 +1367,9 @@ "marketplaceId": { "type": "string" }, + "advertiserType": { + "$ref": "#/components/schemas/advertiserTypes" + }, "advertiserId": { "type": "string" } @@ -1371,7 +1409,7 @@ "properties": { "success": { "minItems": 0, - "maxItems": 100, + "maxItems": 30, "type": "array", "items": { "$ref": "#/components/schemas/bulkGetBillingNotificationsSuccess" @@ -1379,7 +1417,7 @@ }, "error": { "minItems": 0, - "maxItems": 100, + "maxItems": 30, "type": "array", "items": { "$ref": "#/components/schemas/bulkGetBillingNotificationsError" @@ -1404,14 +1442,6 @@ } } }, - "thirdPartyContactInformation": { - "description": "Additional contacts. This field is used in cases such as Loi Sapin in France where both advertiser and agency addresses need to be provided.\n", - "title": "Third Party Contact Info", - "type": "array", - "items": { - "$ref": "#/components/schemas/contactInfo" - } - }, "invoice": { "title": "Invoice", "type": "object", @@ -1463,6 +1493,14 @@ } } }, + "thirdPartyContactInformation": { + "description": "Additional contacts. This field is used in cases such as Loi Sapin in France where both advertiser and agency addresses need to be provided.\n", + "title": "Third Party Contact Info", + "type": "array", + "items": { + "$ref": "#/components/schemas/contactInfo" + } + }, "billingStatusCode": { "type": "string", "title": "Billing Status Code", diff --git a/docs/schemas/common-creative-assets.json b/docs/schemas/common-creative-assets.json index 76dec59..d66ef3c 100644 --- a/docs/schemas/common-creative-assets.json +++ b/docs/schemas/common-creative-assets.json @@ -1,8 +1,8 @@ { "info": { - "description": "# Overview:\n Advertisers can use creative assets to store, organize and reuse brand content, such as logos, images, etc. Stored content can be used for Amazon Advertising and on Amazon shopping pages. Creative assets enables brands to provide a consistent shopping experience by easily applying brand content across Amazon. \n\n\n # Workflow\n\n\n **Asset Upload and Registration**\n\n\n *Step 1* - **Get Upload URL** - This step is creating a temporary upload location to which you will be uploading your asset to in the following step.\n `Request (POST) - /assets/upload` (ensure to include the file name in the body including the file extension as documented in the assets/upload section below)\n\n\n **Response** - `uploadURL` - This is the url location to which you will be uploading your asset in Step 2\n\n\n *Step 2* - **Upload File** - \n `Request (PUT) `\n\n\n **Response** - `200 Success` Once your asset is successfully uploaded to the uploadURL, you can proceed to register this asset.\n\n\n *Step 3* - **Register Asset** -\n `Request (POST) - /assets/register` \n\n **Example Request Body**\n \n ```\n\n {\n \n \"url\": \"uploadUrl\"\n \"name\": \"assetName\"\n \"asinList\": [\n \"BXXXXXXXX\"\n ],\n \"assetType\": \"IMAGE\",\n \"assetSubTypeList\": [\n \"LOGO\"\n ],\n \"versionInfo\": {\n \"linkedAssetId\": \"amzn1.assetlibrary.asset1.18298129182sfsd435\",\n \"versionNotes\": \"This version is for Team A\"\n },\n \"tags\": [\n \"Awareness\",\n \"Spring\"\n ]\n \"associatedSubEntityList\": [ \n {\n \"brandEntityId\": \"string\" //required for sellers\n }\n ]\n }\n \n ```\n Response - `assetId + version` These can be used on GET assets and is the identifier of the asset you uploaded to Creative Assets.\n", - "title": "Creative Assets", - "version": "3.0" + "title": "Creative assets", + "version": "3.0", + "description": "Use the creative assets API to create and manage video and image assets for use in Amazon Ads campaigns. For details on using this API, see [Creatives overview](guides/creative-asset/asset-library-overview)." }, "paths": { "/assets/": { @@ -162,7 +162,7 @@ }, "required": true }, - "description": "The API should be called once the asset is uploaded to the location\nprovided by the /asset/upload API endpoint.", + "description": "The API should be called once the asset is uploaded to the location\nprovided by the /asset/upload API endpoint. See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow.", "operationId": "registerAsset", "responses": { "200": { @@ -281,7 +281,7 @@ }, "required": true }, - "description": "Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response.\n* All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs)\n\n* Program specific links\n1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd)\n2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap)", + "description": "Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response.\n* All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs)\n\n* Program specific links\n1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd)\n2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap)\nSee [Creating assets](guides/creative-asset/creating-assets) to understand the call flow.", "operationId": "getUploadLocation", "responses": { "200": { @@ -680,7 +680,7 @@ }, "caAssetSubType": { "type": "string", - "description": "1. For assetType `IMAGE` acceptable assetSubTypes are `LOGO`, `PRODUCT_IMAGE`, `AUTHOR_IMAGE`, `LIFESTYLE_IMAGE`, `OTHER_IMAGE`\n2. For assetType `VIDEO` acceptable assetSubtype (optional) is `BACKGROUND_VIDEO`.", + "description": "1. For assetType `IMAGE` acceptable assetSubTypes are `LOGO`, `PRODUCT_IMAGE`, `AUTHOR_IMAGE`, `LIFESTYLE_IMAGE`, `OTHER_IMAGE`\n2. For assetType `VIDEO` acceptable assetSubtype is `BACKGROUND_VIDEO`.", "enum": [ "LOGO", "PRODUCT_IMAGE", diff --git a/docs/schemas/common-eligibility.json b/docs/schemas/common-eligibility.json index fe6b389..f972761 100644 --- a/docs/schemas/common-eligibility.json +++ b/docs/schemas/common-eligibility.json @@ -135,10 +135,24 @@ "schema": { "$ref": "#/components/schemas/ProgramEligibilityRequestContent" } + }, + "application/vnd.programeligibility.v2+json": { + "schema": { + "$ref": "#/components/schemas/ProgramEligibilityV2RequestContent" + }, + "examples": { + "ProgramEligibilityV2_example1": { + "summary": "Valid Request", + "value": { + "skipChecks": [], + "maxResults": "1" + } + } + } } } }, - "description": "Checks the advertiser's eligibility to ad programs.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "description": "Checks the advertiser's eligibility to ad programs.", "operationId": "ProgramEligibility", "responses": { "200": { @@ -148,6 +162,57 @@ "schema": { "$ref": "#/components/schemas/ProgramEligibilityResponseContent" } + }, + "application/vnd.programeligibility.v2+json": { + "schema": { + "$ref": "#/components/schemas/ProgramEligibilityV2ResponseContent" + }, + "examples": { + "ProgramEligibilityV2_example1": { + "summary": "Valid Request", + "value": { + "nextToken": "token", + "eligibilityStatusMaps": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "eligibilityStatusMap": { + "SD": { + "reasons": [ + { + "code": "NO_BRAND_RELATIONS", + "level": "INELIGIBLE_WITH_RESOLUTION", + "description": "Advertiser has no known relations to a brand." + } + ], + "eligible": "false" + }, + "SPOT": { + "reasons": [ + { + "code": "NO_BRAND_RELATIONS", + "level": "INELIGIBLE_WITH_RESOLUTION", + "description": "Advertiser has no known relations to a brand." + } + ], + "eligible": "false" + }, + "SB": { + "reasons": [ + { + "code": "NO_BRAND_RELATIONS", + "level": "INELIGIBLE_WITH_RESOLUTION", + "description": "Advertiser has no known relations to a brand." + } + ], + "eligible": "false" + } + }, + "entityId": "ENTITY123" + } + ] + } + } + } } } }, @@ -214,82 +279,45 @@ { "schema": { "pattern": "\\S*", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", - "type": "string", - "maxLength": 120 - }, - "in": "header", - "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", - "required": true - }, - { - "schema": { - "pattern": "\\S*", - "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 header used to pass global account associated with the advertiser account\nUse `GET` method on the Global Ads Account resource to list the global ads account associated with the access token passed in the HTTP Authorization header and choose AdvertisingAccountIdentifier id from the response to pass it as input.\nUse for v2 global calls", "type": "string", "maxLength": 120 }, "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.", - "required": true + "name": "Amazon-Ads-Account-ID", + "description": "The header used to pass global account associated with the advertiser account\nUse `GET` method on the Global Ads Account resource to list the global ads account associated with the access token passed in the HTTP Authorization header and choose AdvertisingAccountIdentifier id from the response to pass it as input.\nUse for v2 global calls" }, { "schema": { "pattern": "\\S*", - "description": "Advertiser ID populated from the federated gateway authorizer context", + "description": "The identifier of a client associated with a \"Login with Amazon\" account.", "type": "string", "maxLength": 120 }, "in": "header", - "name": "advertiserId", - "description": "Advertiser ID populated from the federated gateway authorizer context", + "name": "Amazon-Advertising-API-ClientId", + "description": "The identifier of a client associated with a \"Login with Amazon\" account.", "required": true }, { "schema": { "pattern": "\\S*", - "description": "Entity ID populated from the federated gateway authorizer context", - "type": "string", - "maxLength": 120 - }, - "in": "header", - "name": "entityId", - "description": "Entity ID populated from the federated gateway authorizer context" - }, - { - "schema": { - "pattern": "\\S*", - "description": "Entity type (seller, vendor, author, etc) populated from the federated gateway authorizer context. Note, must be a Seller Central Entity.", - "type": "string", - "maxLength": 120 - }, - "in": "header", - "name": "entityType", - "description": "Entity type (seller, vendor, author, etc) populated from the federated gateway authorizer context. Note, must be a Seller Central Entity." - }, - { - "schema": { - "pattern": "\\S*", - "description": "Marketplace ID populated from the federated gateway authorizer context", + "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.", "type": "string", "maxLength": 120 }, "in": "header", - "name": "marketplaceId", - "description": "Marketplace ID populated from the federated gateway authorizer context" + "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." }, { "schema": { - "pattern": "\\S*", - "description": "Obfuscated Marketplace ID populated from the federated gateway authorizer context, this is included in case marketplace ID is not included", - "type": "string", - "maxLength": 120 + "description": "The content type of the request.", + "type": "string" }, "in": "header", - "name": "obfuscatedMarketplaceId", - "description": "Obfuscated Marketplace ID populated from the federated gateway authorizer context, this is included in case marketplace ID is not included" + "name": "Content-Type", + "description": "The content type of the request." } ], "tags": [ @@ -315,6 +343,14 @@ } } }, + "Action": { + "description": "The action to be performed on the resource.", + "type": "string", + "enum": [ + "postalCodeTarget", + "advertiseAsinLess" + ] + }, "EligibilityStatusDetail": { "description": "Describes a single program's eligibility status", "type": "object", @@ -335,19 +371,6 @@ } } }, - "ProductEligibilityResponse": { - "description": "A product advertising eligibility response object.", - "type": "object", - "properties": { - "productResponseList": { - "description": "A list of product advertising eligibility responses.", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductResponse" - } - } - } - }, "ProgramEligibilityResponseContent": { "description": "An object of program eligibility responses for an advertiser.", "type": "object", @@ -430,81 +453,82 @@ } } }, - "ReasonCode": { - "type": "string", - "enum": [ - "BILLING_ACCOUNT_NOT_FOUND", - "PAYMENT_PROFILE_NOT_FOUND", - "PAYMENT_METHOD_NOT_FOUND", - "PAYMENT_METHOD_NOT_VALID", - "EXPIRED_PAYMENT_METHOD", - "VETTING_FAILURE", - "ACCOUNT_SUSPENDED", - "TAX_INFO_NOT_COMPLETE", - "PREPAY_BALANCE_TOO_LOW", - "RO_BALANCE_TOO_LOW", - "NO_BRAND_RELATIONS", - "NOT_BRAND_REPRESENTATIVE", - "NO_TACTIC_ENABLED", - "DIRECT_TO_CONSUMER_OWNER_TAG_ID_NOT_FOUND", - "DIRECT_TO_CONSUMER_SUBSCRIPTION_NOT_FOUND", - "ADVERTISING_ACCOUNT_NOT_FOUND", - "NOT_LAUNCHED_IN_MARKETPLACE", - "UNKNOWN", - "BLOCKED" - ] - }, - "ProgramEligibilityRequestContent": { - "description": "A request to evaluate account level eligibility for Amazon ad programs (Sponsored Products, Sponsored Brands, Sponsored Display, Stores, etc).", - "type": "object", - "properties": { - "skipChecks": { - "$ref": "#/components/schemas/Check" - } - } - }, - "BadRequestExceptionResponseContent": { + "Feature": { "type": "object", "properties": { - "code": { - "description": "Programmatic status code.", - "type": "number" - }, - "details": { - "description": "A human-readable description of the response.", + "marketplaceId": { + "description": "The marketplace to check the feature access in (Can be obfuscated or not)\nEspecially useful for global requests", "type": "string" + }, + "resource": { + "$ref": "#/components/schemas/Resource" + }, + "action": { + "$ref": "#/components/schemas/Action" } - } + }, + "required": [ + "action", + "marketplaceId", + "resource" + ] }, - "IneligibleLevel": { + "FeatureAcceptLanguage": { "type": "string", "enum": [ - "INELIGIBLE_WITH_RESOLUTION", - "INELIGIBLE" + "en_US", + "ar_AE", + "zh_CN", + "nl_NL", + "en_AU", + "en_CA", + "en_IN", + "en_GB", + "fr_CA", + "fr_FR", + "de_DE", + "it_IT", + "ja_JP", + "ko_KR", + "pl_PL", + "pt_BR", + "es_ES", + "es_US", + "es_MX", + "tr_TR" ] }, - "NotFoundExceptionResponseContent": { + "ProgramEligibilityRequestContent": { + "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": { - "code": { - "description": "Programmatic status code.", - "type": "number" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" + "skipChecks": { + "$ref": "#/components/schemas/Check" } } }, - "RateExceededExceptionResponseContent": { + "ProgramEligibilityV2RequestContent": { + "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": { - "code": { - "description": "Programmatic status code.", - "type": "number" + "skipChecks": { + "minItems": 0, + "maxItems": 20, + "uniqueItems": true, + "description": "Specify what check, if at all, we want to skip.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CheckV2" + } }, - "details": { - "description": "A human-readable description of the response.", + "maxResults": { + "description": "Max results for pagination", + "maximum": 100, + "type": "number", + "minimum": 1 + }, + "nextToken": { + "description": "The pagination token that is required to go to the next page", "type": "string" } } @@ -555,6 +579,18 @@ } } }, + "FeatureReasonItem": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/ReasonCode" + }, + "description": { + "description": "Message explaining what the status means. Example: Payment preference not found for associated billing account. Please add a new payment method", + "type": "string" + } + } + }, "ProductDetails": { "description": "An Amazon product identifier, seller product identifer, or both.", "type": "object", @@ -597,6 +633,290 @@ "tr-TR" ] }, + "AdProgram": { + "description": "This defines the AdPrograms supported", + "type": "string", + "enum": [ + "SB", + "SD", + "MAAS", + "DTC", + "SPOT" + ] + }, + "EligibilityStatusMap": { + "description": "This is a map that will be key'd on the ad program (SB/SD/DTC/MAAS/SPOT); the value will be an eligibility object.", + "additionalProperties": { + "$ref": "#/components/schemas/EligibilityStatusDetail" + }, + "type": "object" + }, + "EligibilityStatusDetailV2": { + "description": "Describes a single program's eligibility status", + "type": "object", + "properties": { + "reasons": { + "minItems": 1, + "maxItems": 99, + "uniqueItems": true, + "description": "String identifier for the status.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ReasonItem" + } + }, + "eligible": { + "description": "Boolean value where if true, advertiser is eligible to access the given program.", + "type": "boolean" + }, + "adProgram": { + "$ref": "#/components/schemas/AdProgram" + } + } + }, + "CheckName": { + "description": "The name of all the checks that we would want to skip", + "type": "string", + "enum": [ + "skipAllBillingChecks" + ] + }, + "ProductEligibilityResponse": { + "description": "A product advertising eligibility response object.", + "type": "object", + "properties": { + "productResponseList": { + "description": "A list of product advertising eligibility responses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductResponse" + } + } + } + }, + "FeatureEligibilityError": { + "type": "object", + "properties": { + "errorMessage": { + "description": "The human readable message for the error encountered", + "type": "string" + }, + "errorCode": { + "description": "The error code ffor the error encountered", + "type": "string" + }, + "errorId": { + "description": "The integer code for the error encountered", + "type": "number" + }, + "itemRequestId": { + "description": "The id of the item that is Marketplace + Resource + Action", + "type": "string" + }, + "httpStatusCode": { + "description": "The http status code of the item", + "type": "number" + } + } + }, + "Resource": { + "description": "The advertising resource of which you wish to check feature access for. Example: Sponsored Display Campaign.", + "type": "string", + "enum": [ + "sd:campaigns", + "sd:campaigns:audiences" + ] + }, + "FeatureEligibilityItem": { + "type": "object", + "properties": { + "marketplaceId": { + "description": "The marketplace to check the feature access in, will be obfuscated or not depending on the input", + "type": "string" + }, + "reasons": { + "minItems": 0, + "maxItems": 20, + "uniqueItems": true, + "description": "String identifier for the status.", + "type": "array", + "items": { + "$ref": "#/components/schemas/FeatureReasonItem" + } + }, + "resource": { + "$ref": "#/components/schemas/Resource" + }, + "action": { + "$ref": "#/components/schemas/Action" + }, + "isEligible": { + "description": "Boolean value where if true, advertiser is eligible to access the given feature.", + "type": "boolean" + }, + "itemRequestId": { + "description": "The id of the item that is Marketplace + Resource + Action", + "type": "string" + }, + "httpStatusCode": { + "description": "the http status code of the item", + "type": "number" + } + } + }, + "ReasonCode": { + "type": "string", + "enum": [ + "BILLING_ACCOUNT_NOT_FOUND", + "PAYMENT_PROFILE_NOT_FOUND", + "PAYMENT_METHOD_NOT_FOUND", + "PAYMENT_METHOD_NOT_VALID", + "EXPIRED_PAYMENT_METHOD", + "VETTING_FAILURE", + "ACCOUNT_SUSPENDED", + "TAX_INFO_NOT_COMPLETE", + "PREPAY_BALANCE_TOO_LOW", + "RO_BALANCE_TOO_LOW", + "NO_BRAND_RELATIONS", + "NOT_BRAND_REPRESENTATIVE", + "NO_TACTIC_ENABLED", + "DIRECT_TO_CONSUMER_OWNER_TAG_ID_NOT_FOUND", + "DIRECT_TO_CONSUMER_SUBSCRIPTION_NOT_FOUND", + "SUBSCRIPTION_NOT_FOUND", + "ADVERTISING_ACCOUNT_NOT_FOUND", + "NOT_LAUNCHED_IN_MARKETPLACE", + "UNKNOWN", + "BLOCKED" + ] + }, + "FeatureEligibilityRequestContent": { + "description": "A request to evaluate feature eligibility", + "type": "object", + "properties": { + "features": { + "minItems": 1, + "maxItems": 30, + "uniqueItems": true, + "description": "The List of features and marketplaces of which you wish the feature to be evalulated in", + "type": "array", + "items": { + "$ref": "#/components/schemas/Feature" + } + } + }, + "required": [ + "features" + ] + }, + "ProgramEligibilityV2ResponseContent": { + "description": "An object of program eligibility responses for an advertiser.", + "type": "object", + "properties": { + "eligibilityStatusLists": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MarketplaceEntitiesEligibilityStatusList" + } + }, + "nextToken": { + "description": "token value allowing to navigate to the next response page", + "type": "string" + } + } + }, + "BadRequestExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "description": "Programmatic status code.", + "type": "number" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "IneligibleLevel": { + "type": "string", + "enum": [ + "INELIGIBLE_WITH_RESOLUTION", + "INELIGIBLE" + ] + }, + "NotFoundExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "description": "Programmatic status code.", + "type": "number" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "RateExceededExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "description": "Programmatic status code.", + "type": "number" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "ExcessiveBatchSizeExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "description": "Programmatic status code.", + "type": "number" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "MarketplaceEntitiesEligibilityStatusList": { + "type": "object", + "properties": { + "marketplaceId": { + "type": "string" + }, + "entityId": { + "type": "string" + }, + "eligibilityStatusList": { + "minItems": 0, + "maxItems": 50, + "description": "This is a map that will be key'd on the ad program (SB/SD/DTC/MAAS/SPOT); the value will be an eligibility object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EligibilityStatusDetailV2" + } + } + } + }, + "CheckV2": { + "description": "Defines which check we would want to skip", + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/CheckName" + }, + "skip": { + "type": "boolean" + } + } + }, "InternalServerErrorExceptionResponseContent": { "type": "object", "properties": { @@ -639,12 +959,27 @@ } } }, - "EligibilityStatusMap": { - "description": "This is a map that will be key'd on the ad program (SB/SD); the value will be an eligibility object.", - "additionalProperties": { - "$ref": "#/components/schemas/EligibilityStatusDetail" - }, - "type": "object" + "FeatureEligibilityResponseContent": { + "description": "A list of feature eligibility responses for an advertiser, split by success and error", + "type": "object", + "properties": { + "success": { + "minItems": 0, + "maxItems": 30, + "type": "array", + "items": { + "$ref": "#/components/schemas/FeatureEligibilityItem" + } + }, + "error": { + "minItems": 0, + "maxItems": 30, + "type": "array", + "items": { + "$ref": "#/components/schemas/FeatureEligibilityError" + } + } + } } }, "requestBodies": {}, diff --git a/docs/schemas/common-localization.json b/docs/schemas/common-localization.json index 30c52fd..349f254 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" ] } } @@ -871,13 +871,13 @@ } }, "targetResolvedTargetingExpressionLocale": { - "description": "The locale to which the caller wishes to translate the localized targeting expressions to. For example, if the caller is resolving targeted expressions from British English (en_GB) to Simplified Chinese (zh_CN), the locale is zh_CN. If no locale is provided, the response will not have any resolved targeting expressions for the localized targeting expressions.", + "description": "The locale to which the caller wishes to retrieve the human readable string (e.g. category name instead of category id) of the localized targeting expressions. For example, if the caller wishes to retrieve the category name in Simplified Chinese (zh_CN) of a targeting expression containing a category id that has been localized, the targetResolvedTargetingExpressionLocale should be set to zh_CN. If no targetResolvedTargetingExpressionLocale is provided, the response will not have any resolved targeting expressions for the localized targeting expressions.", "type": "string" }, "sourceResolvedTargetingExpressionLocales": { "minItems": 1, "maxItems": 10, - "description": "The locales to which the caller wishes to translate the source targeting expressions to. For example, if the caller is resolving targeted expressions from British English (en_GB) to Simplified Chinese (zh_CN), the locale is zh_CN. If no locales are provided, the response will not have any resolved targeting expressions for the source targeting expressions.", + "description": "The locales to which the caller wishes to retrieve the human readable string (e.g. category name instead of category id) of the source targeting expressions. For example, if the caller wishes to retrieve the category name in Simplified Chinese (zh_CN) and US English (en_US) of the input targeting expression containing a category id, sourceResolvedTargetingExpressionLocales should be set to [\"zh_CN\", \"en_US\"]. If no sourceResolvedTargetingExpressionLocales is provided, the response will not have any resolved targeting expressions for the source targeting expressions. This field can be used to retrieve translations of various targeting expressions. Currently supports the translations of Categories, Genre refinement, and Age Range refinement.", "type": "array", "items": { "type": "string" diff --git a/docs/schemas/common-product-meta-data.json b/docs/schemas/common-product-meta-data.json index c83b901..4b85650 100644 --- a/docs/schemas/common-product-meta-data.json +++ b/docs/schemas/common-product-meta-data.json @@ -25,7 +25,7 @@ "operationId": "ProductMetadata", "responses": { "200": { - "description": "Successful operation", + "description": "Successful operation.", "content": { "application/vnd.productmetadataresponse.v1+json": { "schema": { @@ -102,7 +102,7 @@ }, "in": "header", "name": "Amazon-Advertising-API-ClientId", - "description": "The client identifier of the customer making the request.", + "description": "The identifier of a client associated with a \"Login with Amazon\" account.", "required": true }, { @@ -111,7 +111,7 @@ }, "in": "header", "name": "Amazon-Advertising-API-Scope", - "description": "The profile or entity identifier associated with the advertiser account.", + "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 } ] @@ -130,6 +130,8 @@ "type": "string" }, "status": { + "minItems": 0, + "maxItems": 9, "type": "array", "items": { "type": "string" @@ -159,7 +161,7 @@ "$ref": "#/components/schemas/tvPreviewMetadata" }, "ineligibilityCodes": { - "description": "List of ineligibile status identifier", + "description": "List of ineligible status identifier", "type": "array", "items": { "type": "string" @@ -236,6 +238,8 @@ "example": "https:/amazon.com/dp/B0018OFKJS" }, "titleAuthority": { + "minItems": 0, + "maxItems": 1500, "description": "List of ASIN variations of the book item", "type": "array", "items": { @@ -396,7 +400,9 @@ "$ref": "#/components/schemas/priceToPay" }, "ineligibilityCodes": { - "description": "List of ineligibile status identifier", + "minItems": 0, + "maxItems": 12, + "description": "List of ineligible status identifier", "type": "array", "items": { "type": "string" @@ -460,6 +466,8 @@ "example": "Levi's" }, "variationList": { + "minItems": 0, + "maxItems": 1500, "description": "List of ASIN variations of the current item", "type": "array", "items": { @@ -471,6 +479,8 @@ ] }, "ineligibilityReasons": { + "minItems": 0, + "maxItems": 12, "description": "List of reasons that made this item ineligible to be advertised", "type": "array", "items": { @@ -505,11 +515,14 @@ ], "properties": { "asins": { + "minItems": 0, "maxItems": 300, "description": "Specific asins to search for in the advertiser's inventory. Cannot use together with skus or searchStr input types.", "type": "array", "items": { - "type": "string" + "minLength": 10, + "type": "string", + "maxLength": 10 }, "example": [ "B0018OFKJS", @@ -518,7 +531,7 @@ }, "checkItemDetails": { "default": "false", - "description": "Whether item details such as name, image, and price is required", + "description": "Whether item details such as name, image, and price is required.", "type": "boolean" }, "cursorToken": { @@ -535,8 +548,9 @@ ] }, "skus": { + "minItems": 0, "maxItems": 300, - "description": "Specific skus to search for in the advertiser's inventory. Currently only support SP program type for sellers. Cannot use together with asins or searchStr input types", + "description": "Specific SKUs to search for in the advertiser's inventory. Currently only support SP program type for sellers. Cannot use together with asins or searchStr input types.", "type": "array", "items": { "type": "string" @@ -552,13 +566,14 @@ "type": "boolean" }, "searchStr": { - "description": "Specific string in the item title to search for in the advertiser's inventory. Case insensitive. Cannot use together with asins or skus input types", + "description": "Specific string in the item title to search for in the advertiser's inventory. Case insensitive. Cannot use together with asins or skus input types.", "type": "string", + "maxLength": 200, "example": "jean" }, "pageIndex": { "format": "int32", - "description": "Index of the page to be returned; For author, this value will be ignored, should use cursorToken instead.", + "description": "Index of the page to be returned; For author, this value will be ignored, should use cursorToken instead. For seller, results are capped at 10k(pageIndex * pageSize). For vendor, results are capped at 50k.", "type": "integer", "minimum": 0, "example": "0" @@ -574,7 +589,7 @@ }, "pageSize": { "format": "int32", - "description": "Number of items to be returned on this page index", + "description": "Number of items to be returned on this page index.", "maximum": 300, "type": "integer", "minimum": 1, @@ -599,7 +614,9 @@ "type": "object", "properties": { "ineligibilityCodes": { - "description": "List of ineligibile status identifier", + "minItems": 0, + "maxItems": 99, + "description": "List of ineligible status identifier", "type": "array", "items": { "type": "string" @@ -610,6 +627,8 @@ ] }, "ineligibilityReasons": { + "minItems": 0, + "maxItems": 99, "description": "List of reasons that made this item ineligible to be advertised", "type": "array", "items": { @@ -630,6 +649,7 @@ "type": "string" }, "ProductMetadataList": { + "minItems": 0, "maxItems": 300, "type": "array", "items": { diff --git a/docs/schemas/data-provider.json b/docs/schemas/data-provider.json index feb2684..8ef819a 100644 --- a/docs/schemas/data-provider.json +++ b/docs/schemas/data-provider.json @@ -3,7 +3,7 @@ "info": { "version": "3.0", "title": "Amazon Ads API for Data Providers.", - "description": "Use to create, read, or update audience metadata and to add or remove audience records. For onboarding information, see [_setting up for the Amazon Ads API_](../setting-up/account-setup).", + "description": "Use to create, read, or update audience metadata and to add or remove audience records. For onboarding information, see [_setting up for the Amazon Ads API_](../guides/onboarding/overview).", "contact": { "name": "Amazon Ads API Support", "url": "https://amzn-clicks.atlassian.net/servicedesk/customer/portals" diff --git a/docs/schemas/dsp-advertiser.json b/docs/schemas/dsp-advertiser.json index 5a767ea..c1b94db 100644 --- a/docs/schemas/dsp-advertiser.json +++ b/docs/schemas/dsp-advertiser.json @@ -252,7 +252,7 @@ "format": "int32", "minimum": 1, "maximum": 100, - "default": 20 + "default": 100 } }, { diff --git a/docs/schemas/dsp-measurement.json b/docs/schemas/dsp-measurement.json index d7bfa0f..254ecf1 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": { @@ -5117,7 +5199,7 @@ }, "in": "query", "explode": false, - "name": "studyIdFilters", + "name": "studyIds", "description": "Study canonical identifiers to cancel.", "style": "form", "required": false @@ -6894,38 +6976,28 @@ ] } }, - "/measurement/vendorProducts/omnichannelMetrics/brands/list": { + "/measurementStudies/omnichannelMetrics/brands/list": { "post": { "summary": "Search for brands to be used in the OMNICHANNEL_METRICS vendor product.", "requestBody": { "description": "Fetch measurement vendor products request object.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/OmnichannelMetricsBrandSearchRequestV1M2" - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/OmnichannelMetricsBrandSearchRequestV1M2" + "$ref": "#/components/schemas/MeasurementStudiesOmnichannelMetricsBrandSearchRequest" } } } }, - "description": "Search for brands to be used in the OMNICHANNEL_METRICS vendor product.\n\n**Requires one of these permissions**:\n[]", - "operationId": "omnichannelMetricsBrandSearch", + "description": "Search for brands to be used in the OMNICHANNEL_METRICS vendor product.\n\n**Requires one of these permissions**:\n[]\n\n**Requires one of these permissions**:\n[]", + "operationId": "GetMeasurementStudiesOmnichannelMetricsBrands", "responses": { "200": { "description": "Successful operation.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/PaginatedOmnichannelMetricsBrandsV1M2" - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/PaginatedOmnichannelMetricsBrandsV1M2" + "$ref": "#/components/schemas/PaginatedMeasurementStudiesOmnichannelMetricsBrands" } } } @@ -6933,18 +7005,9 @@ "400": { "description": "Bad Request or request body is not matching with input model.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Malformed JSON." - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", @@ -6956,18 +7019,9 @@ "401": { "description": "Unauthenticated request.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Unauthenticated Request." - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", @@ -6979,24 +7033,9 @@ "403": { "description": "Forbidden - Request failed because user is not authorized to access a resource.", "content": { - "application/vnd.ocmbrands.v1.3+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.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." - } - ] - } - }, - "application/vnd.ocmbrands.v1.2+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", @@ -7014,18 +7053,9 @@ "404": { "description": "Not Found - Requested resource does not exist or is not visible for the authenticated user.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Resource Not Found." - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", @@ -7037,18 +7067,9 @@ "415": { "description": "Unsupported Media Type - Version not supported.", "content": { - "application/vnd.ocmbrands.v1.3+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." - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e", @@ -7060,18 +7081,9 @@ "429": { "description": "Too Many Requests - Request was rate-limited. Retry later.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Too Many Requests." - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", @@ -7083,18 +7095,9 @@ "500": { "description": "Internal Server Error.", "content": { - "application/vnd.ocmbrands.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Internal Server Error" - } - }, - "application/vnd.ocmbrands.v1.2+json": { + "application/vnd.measurementstudiesomnichannelmetricsbrands.v1+json": { "schema": { - "$ref": "#/components/schemas/ErrorV1" + "$ref": "#/components/schemas/MeasurementStudiesError" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", @@ -7128,51 +7131,47 @@ }, "in": "query", "name": "maxResults", - "description": "Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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.", - "required": false + "description": "Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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": [ - "Measurement" + "Omnichannel Metrics Study" ] } }, - "/dsp/measurement/studies/omnichannelMetrics/{studyId}/result": { + "/measurement/studies/{studyId}/curatedResult/download": { "get": { - "summary": "Get result of a DSP OMNICHANNEL_METRICS study.", - "description": "Get result of a DSP OMNICHANNEL_METRICS study. Returns a 307 Temporary Redirect response if any of the file types is requested and response includes a location header with the value set to an AWS S3 path where the result is located. The path expires after 60 seconds. Accept header does not support json for OMNICHANNEL_METRICS study type.\n\n**Requires one of these permissions**:\n[]", - "operationId": "GetDSPOmnichannelMetricsStudyResult", + "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": { - "307": { - "headers": { - "Location": { + "200": { + "description": "Successful operation for downloading curated results file.", + "content": { + "application/vnd.measurementresult.v1+json": { "schema": { - "type": "string" - }, - "description": "Redirect URI with S3 file location containing result data." + "$ref": "#/components/schemas/CuratedStudyResultV1" + } } - }, - "description": "Successful operation for downloading result file." + } }, "400": { - "description": "Bad Request or request body is not matching with input model.", + "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.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Malformed JSON." - } - }, - "application/vnd.measurementresult.v1.2+json": { + "application/vnd.measurementresult.v1+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Malformed JSON." + "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" + } + ] } } } @@ -7180,16 +7179,7 @@ "401": { "description": "Unauthenticated request.", "content": { - "application/vnd.measurementresult.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Unauthenticated Request" - } - }, - "application/vnd.measurementresult.v1.2+json": { + "application/vnd.measurementresult.v1+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, @@ -7203,22 +7193,7 @@ "403": { "description": "Forbidden - Request failed because user is not authorized to access a resource.", "content": { - "application/vnd.measurementresult.v1.3+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" - } - ] - } - }, - "application/vnd.measurementresult.v1.2+json": { + "application/vnd.measurementresult.v1+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, @@ -7238,16 +7213,7 @@ "404": { "description": "Not Found - Requested resource does not exist or is not visible for the authenticated user.", "content": { - "application/vnd.measurementresult.v1.3+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { - "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Resource Not Found" - } - }, - "application/vnd.measurementresult.v1.2+json": { + "application/vnd.measurementresult.v1+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, @@ -7261,7 +7227,7 @@ "415": { "description": "Unsupported Media Type - Version not supported.", "content": { - "application/vnd.measurementresult.v1.3+json": { + "application/vnd.measurementresult.v1+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, @@ -7269,12 +7235,226 @@ "requestId": "07939123-b8aa-466a-a991-8ab45b3a2f8e", "message": "Invalid `accept` header provided. Please ensure you are specifying supported version for the requested resource." } - }, - "application/vnd.measurementresult.v1.2+json": { - "schema": { - "$ref": "#/components/schemas/ErrorV1" - }, - "example": { + } + } + }, + "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.", + "requestBody": { + "description": "Fetch measurement vendor products request object.", + "content": { + "application/vnd.ocmbrands.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/OmnichannelMetricsBrandSearchRequestV1M2" + } + }, + "application/vnd.ocmbrands.v1.2+json": { + "schema": { + "$ref": "#/components/schemas/OmnichannelMetricsBrandSearchRequestV1M2" + } + } + } + }, + "description": "Search for brands to be used in the OMNICHANNEL_METRICS vendor product.\n\n**Requires one of these permissions**:\n[]", + "operationId": "omnichannelMetricsBrandSearch", + "responses": { + "200": { + "description": "Successful operation.", + "content": { + "application/vnd.ocmbrands.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/PaginatedOmnichannelMetricsBrandsV1M2" + } + }, + "application/vnd.ocmbrands.v1.2+json": { + "schema": { + "$ref": "#/components/schemas/PaginatedOmnichannelMetricsBrandsV1M2" + } + } + } + }, + "400": { + "description": "Bad Request or request body is not matching with input model.", + "content": { + "application/vnd.ocmbrands.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Malformed JSON." + } + }, + "application/vnd.ocmbrands.v1.2+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Malformed JSON." + } + } + } + }, + "401": { + "description": "Unauthenticated request.", + "content": { + "application/vnd.ocmbrands.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Unauthenticated Request." + } + }, + "application/vnd.ocmbrands.v1.2+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.ocmbrands.v1.3+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." + } + ] + } + }, + "application/vnd.ocmbrands.v1.2+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.ocmbrands.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Resource Not Found." + } + }, + "application/vnd.ocmbrands.v1.2+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.ocmbrands.v1.3+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." + } + }, + "application/vnd.ocmbrands.v1.2+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." } @@ -7284,22 +7464,22 @@ "429": { "description": "Too Many Requests - Request was rate-limited. Retry later.", "content": { - "application/vnd.measurementresult.v1.3+json": { + "application/vnd.ocmbrands.v1.3+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Too Many Requests" + "message": "Too Many Requests." } }, - "application/vnd.measurementresult.v1.2+json": { + "application/vnd.ocmbrands.v1.2+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, "example": { "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", - "message": "Too Many Requests" + "message": "Too Many Requests." } } } @@ -7307,7 +7487,7 @@ "500": { "description": "Internal Server Error.", "content": { - "application/vnd.measurementresult.v1.3+json": { + "application/vnd.ocmbrands.v1.3+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, @@ -7316,7 +7496,7 @@ "message": "Internal Server Error" } }, - "application/vnd.measurementresult.v1.2+json": { + "application/vnd.ocmbrands.v1.2+json": { "schema": { "$ref": "#/components/schemas/ErrorV1" }, @@ -7339,171 +7519,3551 @@ "schema": { "type": "string" }, - "in": "header", - "name": "Accept", - "description": "The version(s) of the requested resource. Available version(s) - `text/vnd.measurementresult.v1+xlsx`", - "required": true + "in": "query", + "name": "nextToken", + "description": "Token from a previous request. Use in conjunction with the `maxResults` parameter to control pagination of the returned array." }, { "schema": { - "type": "string" + "default": 10, + "maximum": 100, + "type": "integer", + "minimum": 1 }, - "in": "path", - "name": "studyId", - "description": "The canonical identifier that represents a unique study.", - "required": true + "in": "query", + "name": "maxResults", + "description": "Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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.", + "required": false } ], "tags": [ "Measurement" ] } - } - }, - "components": { - "headers": {}, - "examples": {}, + }, + "/dsp/measurement/studies/omnichannelMetrics/{studyId}/result": { + "get": { + "summary": "Get result of a DSP OMNICHANNEL_METRICS study.", + "description": "Get result of a DSP OMNICHANNEL_METRICS study. Returns a 307 Temporary Redirect response if any of the file types is requested and response includes a location header with the value set to an AWS S3 path where the result is located. The path expires after 60 seconds. Accept header does not support json for OMNICHANNEL_METRICS study type.\n\n**Requires one of these permissions**:\n[]", + "operationId": "GetDSPOmnichannelMetricsStudyResult", + "responses": { + "307": { + "headers": { + "Location": { + "schema": { + "type": "string" + }, + "description": "Redirect URI with S3 file location containing result data." + } + }, + "description": "Successful operation for downloading result file." + }, + "400": { + "description": "Bad Request or request body is not matching with input model.", + "content": { + "application/vnd.measurementresult.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Malformed JSON." + } + }, + "application/vnd.measurementresult.v1.2+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Malformed JSON." + } + } + } + }, + "401": { + "description": "Unauthenticated request.", + "content": { + "application/vnd.measurementresult.v1.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Unauthenticated Request" + } + }, + "application/vnd.measurementresult.v1.2+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.3+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" + } + ] + } + }, + "application/vnd.measurementresult.v1.2+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.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Resource Not Found" + } + }, + "application/vnd.measurementresult.v1.2+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.3+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." + } + }, + "application/vnd.measurementresult.v1.2+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.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Too Many Requests" + } + }, + "application/vnd.measurementresult.v1.2+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.3+json": { + "schema": { + "$ref": "#/components/schemas/ErrorV1" + }, + "example": { + "requestId": "ad165994-489a-4fcf-a175-7a846c899b41", + "message": "Internal Server Error" + } + }, + "application/vnd.measurementresult.v1.2+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) - `text/vnd.measurementresult.v1+xlsx`", + "required": true + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "studyId", + "description": "The canonical identifier that represents a unique study.", + "required": true + } + ], + "tags": [ + "Measurement" + ] + } + } + }, + "components": { + "headers": {}, + "examples": {}, "schemas": { - "DSPBrandLiftEligibilityRequestV1M1": { + "PlaceholderValueTypeV1": { + "description": "The placeholder value type.", + "type": "string", + "enum": [ + "STRING", + "INTEGER" + ] + }, + "MeasurementStudiesSurveyQuestionPlaceholder": { + "description": "The object specifying a placeholder in Survey question.", + "type": "object", + "properties": { + "fieldName": { + "description": "The survey question placeholder field name.", + "type": "string" + }, + "fieldValues": { + "minItems": 0, + "maxItems": 20, + "description": "The survey question placeholder field values.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderFieldValue" + } + } + } + }, + "BaseStudyV1M1": { + "description": "The base study object.", + "type": "object", + "properties": { + "statusReasons": { + "minItems": 0, + "maxItems": 100, + "description": "List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "surveyId": { + "description": "The study survey canonical identifier.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders.", + "readOnly": true, + "type": "string" + }, + "externalReferenceId": { + "description": "Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies.", + "type": "string" + }, + "vendorProductId": { + "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.", + "readOnly": true, + "type": "string" + }, + "studyResultStatus": { + "description": "The status of result of the study.", + "type": "string", + "enum": [ + "AVAILABLE" + ] + }, + "rejectionReasons": { + "minItems": 0, + "maxItems": 100, + "deprecated": true, + "description": "List of reasons for rejection, this will only be available if the status is REJECTED. This field is deprecated, use statusReasons instead.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "reviewDate": { + "format": "date-time", + "description": "The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The study name.", + "type": "string" + }, + "comment": { + "description": "The approver's comment on why the study is approved/rejected.", + "readOnly": true, + "type": "string" + }, + "links": { + "minItems": 0, + "maxItems": 100, + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceLinkV1M1" + } + }, + "id": { + "description": "The study canonical identifier. Immutable field. This is required for update.", + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders.", + "readOnly": true, + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/StudyStatusV1" + }, + "createDate": { + "format": "date-time", + "description": "The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + } + } + }, + "SurveyQuestionObjectiveTypeV1": { + "description": "The survey objective.", + "readOnly": true, + "type": "string", + "enum": [ + "AWARENESS", + "PREFERENCE", + "FAVORABILITY", + "AD_RECALL", + "INTENT", + "ATTITUDES", + "BEHAVIORS", + "FAMILIARITY", + "ASSOCIATION" + ] + }, + "DSPAudienceResearchCostEstimationResponseV1M2": { + "description": "The response object of DSP Audience Research study cost estimation.", + "properties": { + "cost": { + "description": "The estimated cost for the Study.", + "type": "number" + }, + "currencyCode": { + "$ref": "#/components/schemas/CurrencyCodeV1M2" + } + } + }, + "PlanningEligibilityV1M3": { + "description": "The request object of measurement eligibility check.", + "type": "object", + "properties": { + "vendorProductId": { + "description": "Vendor product canonical identifier.", + "type": "string" + }, + "rank": { + "description": "The lower the number, the more recommended the vendor product is.", + "type": "number" + }, + "issues": { + "minItems": 0, + "maxItems": 100, + "description": "A list of issues will be provided if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EligibilityIssueV1M2" + } + }, + "status": { + "$ref": "#/components/schemas/EligibilityStatusV1" + } + } + }, + "BaseStudyV1M2": { + "description": "The base study object.", + "type": "object", + "properties": { + "statusReasons": { + "minItems": 0, + "maxItems": 100, + "description": "List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "surveyId": { + "description": "The study survey canonical identifier.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders.", + "readOnly": true, + "type": "string" + }, + "externalReferenceId": { + "description": "Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies.", + "type": "string" + }, + "vendorProductId": { + "description": "Associated vendor product canonical identifier.", + "type": "string" + }, + "lastUpdatedDate": { + "format": "date-time", + "description": "The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "studyResultStatus": { + "description": "The status of result of the study.", + "type": "string", + "enum": [ + "AVAILABLE" + ] + }, + "reviewDate": { + "format": "date-time", + "description": "The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The study name.", + "type": "string" + }, + "comment": { + "description": "The approver's comment on why the study is approved/rejected.", + "readOnly": true, + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders.", + "readOnly": true, + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/StudyStatusV1" + }, + "createDate": { + "format": "date-time", + "description": "The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedMeasurementStudiesSurveys": { + "description": "A list of study surveys.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "surveys": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurvey" + } + } + } + }, + "UpdateDSPCreativeTestingStudyV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1M2" + }, + { + "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + }, + { + "$ref": "#/components/schemas/DSPCreativeTestingMetadataV1M2" + } + ], + "description": "Update DSP CREATIVE_TESTING study object.", + "type": "object" + }, + "PaginatedMeasurementOmnichannelMetricsStudies": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementOmnichannelMetricsStudy" + } + } + } + }, + "MeasurementBrandLiftStudyEligibilityData": { + "description": "The campaign study eligibility data.", + "type": "object", + "properties": { + "currentStudyId": { + "description": "Optional current study identifier, if provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility check.", + "type": "string" + }, + "excludedLineItemIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical lineItem identifiers that are excluded from the eligibility check.", + "type": "array", + "items": { + "type": "string" + } + }, + "orderIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of canonical DSP order identifiers. By default all lineItems in those orders will be included.", + "type": "array", + "items": { + "type": "string" + } + }, + "campaignIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of canonical Sponsored Ads campaign identifiers that are associated with the study.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "MeasurementStudiesVendorProductPolicy": { + "description": "The policy rules will be enforced at vendor product level.", + "type": "object", + "properties": { + "maximumOrders": { + "description": "The maximum number of order allowed for the product.", + "type": "integer" + }, + "supportedGoals": { + "minItems": 0, + "maxItems": 7, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementGoal" + } + }, + "leadTime": { + "description": "Days required for measurement configuration. It is recommended that the startDate of the campaign has sufficient padding to accommodate this lead time, but measurement can begin after the campaign start date in some cases.", + "type": "integer" + }, + "requiredQuestionObjectives": { + "minItems": 0, + "maxItems": 24, + "description": "The required question objectives that need to be included as part of the survey.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionObjectiveType" + } + }, + "benchMarkCategoryRequired": { + "description": "Whether or not the benchMark category is required for measurement setup.", + "type": "boolean" + }, + "supportedVerbs": { + "minItems": 0, + "maxItems": 100, + "description": "List of top 100 supported verbs that can be used in survey questions.", + "type": "array", + "items": { + "type": "string" + } + }, + "maximumSurveyQuestions": { + "description": "The maximum number of survey questions required for the product.", + "type": "integer" + }, + "minimumOrders": { + "description": "The maximum number of orders required for the product.", + "type": "integer" + }, + "vendorProductId": { + "description": "vendor product canonical identifier.", + "type": "string" + }, + "verbRequired": { + "description": "Whether or not a verb is required for measurement setup. It will be used in applicable survey questions to construct the question text.", + "type": "boolean" + }, + "customQuestionAllowed": { + "description": "Whether custom survey questions are allowed.", + "type": "boolean" + }, + "maximumStudyLength": { + "description": "The maximum required length/duration of the study in days.", + "type": "integer" + }, + "maximumPeerNames": { + "description": "The maximum number of peer names required for the product.", + "type": "integer" + }, + "requiredQuestionCategories": { + "minItems": 0, + "maxItems": 4, + "description": "The requirements for survey question categories.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionCategoryRequirement" + } + }, + "supportedMarketplaces": { + "minItems": 0, + "maxItems": 22, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesMarketplace" + } + }, + "minimumStudyLength": { + "description": "The minimum required length/duration of the study in days.", + "type": "integer" + }, + "vendorApprovalRequired": { + "description": "Whether or not the vendor requires an additional sign off process to fully qualify for study.", + "type": "boolean" + }, + "minimumPeerNames": { + "description": "The minimum number of peer names required for the product.", + "type": "integer" + }, + "externalReferenceIdRequired": { + "description": "Whether or not the vendor assigned external reference identifier is required for measurement setup.", + "type": "boolean" + }, + "minimumSurveyQuestions": { + "description": "The minimum number of survey questions required for the product.", + "type": "integer" + } + } + }, + "SurveyErrorV1": { + "description": "The survey error object.", + "type": "object", + "properties": { + "fieldName": { + "type": "string" + }, + "questionTemplateId": { + "type": "string" + }, + "errorType": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "errorType", + "message" + ] + }, + "MeasurementAudienceResearchFeeRequest": { + "description": "The request object to get fee for a Audience Research study.", + "properties": { + "vendorProductId": { + "description": "vendor product canonical identifier.", + "type": "string" + }, + "templatedShortQuestions": { + "minItems": 1, + "maxItems": 20, + "description": "A list of templated survey questions.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesTemplatedSurveyShortQuestion" + } + }, + "advertiserId": { + "description": "The associated DSP advertiser identifier. Mandatory field for DSP clients.", + "type": "string" + } + } + }, + "VendorProductPolicyV1": { + "description": "The policy rules will be enforced at vendor product level.", + "type": "object", + "properties": { + "maximumOrders": { + "description": "The maximum number of order allowed for the product.", + "type": "integer" + }, + "supportedGoals": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementGoalV1" + } + }, + "leadTime": { + "description": "Days required for measurement configuration. It is recommended that the startDate of the campaign has sufficient padding to accommodate this lead time, but measurement can begin after the campaign start date in some cases.", + "type": "integer" + }, + "requiredQuestionObjectives": { + "minItems": 0, + "maxItems": 100, + "description": "The required question objectives that need to be included as part of the survey.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" + } + }, + "benchMarkCategoryRequired": { + "description": "Whether or not the benchMark category is required for measurement setup.", + "type": "boolean" + }, + "maximumSurveyQuestions": { + "description": "The maximum number of survey questions required for the product.", + "type": "integer" + }, + "minimumOrders": { + "description": "The maximum number of orders required for the product.", + "type": "integer" + }, + "vendorProductId": { + "description": "vendor product canonical identifier.", + "type": "string" + }, + "customQuestionAllowed": { + "description": "Whether custom survey questions are allowed.", + "type": "boolean" + }, + "maximumStudyLength": { + "description": "The maximum required length/duration of the study in days.", + "type": "integer" + }, + "maximumPeerNames": { + "description": "The maximum number of peer names required for the product.", + "type": "integer" + }, + "supportedMarketplaces": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementMarketplaceV1" + } + }, + "minimumStudyLength": { + "description": "The minimum required length/duration of the study in days.", + "type": "integer" + }, + "vendorApprovalRequired": { + "description": "Whether or not the vendor requires an additional sign off process to fully qualify for study.", + "type": "boolean" + }, + "minimumPeerNames": { + "description": "The minimum number of peer names required for the product.", + "type": "integer" + }, + "externalReferenceIdRequired": { + "description": "Whether or not the vendor assigned external reference identifier is required for measurement setup.", + "type": "boolean" + }, + "minimumSurveyQuestions": { + "description": "The minimum number of survey questions required for the product.", + "type": "integer" + } + } + }, + "PaginatedDSPBrandLiftStudiesV1": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/DSPBrandLiftStudyV1" + } + } + } + }, + "SurveyResponseResultV1M2": { + "description": "The rate of response for each response in Survey question.", + "properties": { + "questionResponse": { + "$ref": "#/components/schemas/SurveyQuestionResponseV1M2" + }, + "questionAsset": { + "$ref": "#/components/schemas/AssetV1M2" + }, + "isQualifyingResponse": { + "description": "Is the response a qualifying response. Used in calculating Brand Lift.", + "type": "boolean" + }, + "responseRate": { + "format": "double", + "description": "The percentage of people choosing this response.", + "type": "number" + }, + "questionObjective": { + "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" + }, + "segmentValue": { + "description": "The segment value to which this response data belongs to. Would be corresponding to the above segmentType field.", + "type": "string" + }, + "questionText": { + "description": "Text of the Survey question.", + "type": "string" + }, + "marginOfError": { + "description": "The percentage of margin of error for this response.", + "type": "number" + }, + "statisticalSignificance": { + "format": "double", + "description": "The significance percentage for the response data in this segment.", + "type": "number" + }, + "adExposedGroupResponseRate": { + "format": "double", + "description": "The percent of people in ad exposed group choosing this response.", + "type": "number" + }, + "controlGroupResponseRate": { + "format": "double", + "description": "The percent of people in control group choosing this response.", + "type": "number" + }, + "questionSequence": { + "description": "Sequence number of the question in the Survey.", + "type": "number" + }, + "segmentType": { + "description": "The segment type to which this response data belongs to.", + "type": "string", + "enum": [ + "OVERALL", + "AGE", + "HOUSEHOLD_INCOME", + "GENDER", + "AUDIENCES", + "FREQUENCY", + "CHANNEL" + ] + } + } + }, + "SurveyQuestionCategoryV1M1": { + "description": "The survey question category.", + "readOnly": true, + "type": "string", + "enum": [ + "BRAND_KPI", + "WEIGHTING", + "CUSTOM" + ] + }, + "StudyStatusV1": { + "description": "The study status. Only required if study is in DRAFT as part of study creation/update.", + "type": "string", + "enum": [ + "RUNNING", + "PENDING", + "APPROVED", + "REJECTED", + "ENDED", + "CANCELLED", + "DRAFT", + "INFEASIBLE" + ] + }, + "SurveyResponseResultV1M1": { + "description": "The rate of response for each response in Survey question.", + "properties": { + "questionResponse": { + "description": "The response choosen by Survey audience.", + "type": "string" + }, + "statisticalSignificance": { + "description": "The significance percentage for the response data in this segment.", + "type": "number" + }, + "isQualifyingResponse": { + "description": "Is the response a qualifying response. Used in calculating Brand Lift.", + "type": "boolean" + }, + "responseRate": { + "description": "The percentage of people choosing this response.", + "type": "number" + }, + "adExposedGroupResponseRate": { + "description": "The percent of people in ad exposed group choosing this response.", + "type": "number" + }, + "controlGroupResponseRate": { + "description": "The percent of people in control group choosing this response.", + "type": "number" + }, + "questionObjective": { + "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1M1" + }, + "segmentValue": { + "description": "The segment value to which this response data belongs to. Would be corresponding to the above segmentType field.", + "type": "string" + }, + "questionSequence": { + "description": "Sequence number of the question in the Survey.", + "type": "number" + }, + "questionText": { + "description": "Text of the Survey question.", + "type": "string" + }, + "segmentType": { + "description": "The segment type to which this response data belongs to.", + "type": "string", + "enum": [ + "OVERALL", + "AGE", + "HOUSEHOLD_INCOME", + "GENDER", + "AUDIENCES", + "FREQUENCY", + "CHANNEL" + ] + } + } + }, + "MeasurementBrandLiftStudy": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementBaseStudy" + }, + { + "$ref": "#/components/schemas/MeasurementBrandLiftStudyMetadata" + } + ], + "description": "BRAND_LIFT study object.", + "type": "object" + }, + "SurveyQuestionTypeV1": { + "description": "The survey question type. SINGLE_SELECT question will allow customers to choose only one response, MULTI_SELECT question will allow customers to choose multiple responses, RATING will allow customers to choose a rating on a scale (e.g. 1 to 5), FREE_TEXT will allow customers to provide a free formed question text, SINGLE_ASSET_SELECT will allow customers to choose an asset as the response.", + "readOnly": true, + "type": "string", + "enum": [ + "SINGLE_SELECT", + "MULTI_SELECT", + "RATING", + "FREE_TEXT", + "SINGLE_ASSET_SELECT" + ] + }, + "FundingTypeV1": { + "description": "The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon.", + "readOnly": true, + "type": "string", + "enum": [ + "COMPLIMENTARY" + ] + }, + "BenchmarkCategoryV1": { + "description": "The study benchmark product category.", + "type": "string", + "enum": [ + "APPLIANCES", + "APPS_AND_GAMES", + "ARTS_CRAFTS_AND_SEWING", + "AUTOMOTIVE", + "BABY", + "BEAUTY_AND_PERSONAL_CARE", + "BOOKS", + "CELL_PHONES_AND_ACCESSORIES", + "CLOTHING_SHOES_AND_JEWELRY", + "COMPUTERS_AND_ACCESSORIES", + "DIGITAL_MUSIC", + "ELECTRONICS", + "EDUCATION", + "FINANCIAL_AND_INSURANCE", + "FOOD", + "BEVERAGES", + "HEALTH_AND_HOUSEHOLD", + "HOME_AND_KITCHEN", + "KITCHEN_AND_DINING", + "MOVIES_AND_TV", + "OFFICE_PRODUCTS", + "PATIO_LAWN_AND_GARDEN", + "PET_SUPPLIES", + "RESTAURANTS", + "SOFTWARE", + "SPORTS_AND_OUTDOORS", + "TELECOMMUNICATIONS_SERVICES", + "TOOLS_AND_HOME_IMPROVEMENT", + "TOYS_AND_GAMES", + "VIDEO_GAMES", + "HOSPITALITY" + ] + }, + "MeasurementStudiesBenchmarkCategory": { + "description": "The study benchmark product category. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "APPLIANCES", + "APPS_AND_GAMES", + "ARTS_CRAFTS_AND_SEWING", + "AUTOMOTIVE", + "BABY", + "BEAUTY_AND_PERSONAL_CARE", + "BOOKS", + "CELL_PHONES_AND_ACCESSORIES", + "CLOTHING_SHOES_AND_JEWELRY", + "COMPUTERS_AND_ACCESSORIES", + "DIGITAL_MUSIC", + "ELECTRONICS", + "EDUCATION", + "FINANCIAL_AND_INSURANCE", + "FOOD", + "BEVERAGES", + "HEALTH_AND_HOUSEHOLD", + "HOME_AND_KITCHEN", + "KITCHEN_AND_DINING", + "MOVIES_AND_TV", + "OFFICE_PRODUCTS", + "PATIO_LAWN_AND_GARDEN", + "PET_SUPPLIES", + "RESTAURANTS", + "SOFTWARE", + "SPORTS_AND_OUTDOORS", + "TELECOMMUNICATIONS_SERVICES", + "TOOLS_AND_HOME_IMPROVEMENT", + "TOYS_AND_GAMES", + "VIDEO_GAMES", + "HOSPITALITY", + "OTHER" + ] + }, + "StudyResponseV1": { + "description": "Study response.", + "type": "object", + "properties": { + "code": { + "description": "An enumerated success or error code for machine use.", + "type": "string" + }, + "index": { + "format": "int32", + "description": "The index of the object in the request, starting from 1.", + "type": "integer" + }, + "studyId": { + "description": "The study canonical identifier.", + "type": "string" + }, + "message": { + "description": "A human-readable message of the code.", + "type": "string" + }, + "errors": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SubErrorV1" + } + } + } + }, + "MeasurementStudiesAssetType": { + "description": "The type of the Asset.", + "readOnly": true, + "type": "string", + "enum": [ + "IMAGE", + "VIDEO" + ] + }, + "SubErrorV1": { + "description": "The sub error object.", + "type": "object", + "properties": { + "fieldName": { + "type": "string" + }, + "errorType": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "errorType", + "message" + ] + }, + "GetMeasurementStudiesSurvey": { + "description": "The request object for fetching measurement studies based on surveys.", + "type": "object", + "properties": { + "studyId": { + "description": "A study canonical identifier. Either one of surveyIds or studyId should be provided.", + "type": "string" + }, + "surveyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Survey canonical identifier to filter with. Either one of surveyIds or studyId should be provided.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "StudyObjectiveV1": { + "description": "Measurement category based on the purpose of the measurement.", + "type": "string", + "enum": [ + "CAMPAIGN_MEASUREMENT", + "CAMPAIGN_PLANNING" + ] + }, + "OmnichannelMetricsBrandSearchRequestV1M2": { + "description": "The request object to fetch brands to be used in the OMNICHANNEL_METRICS vendor product.", + "type": "object", + "properties": { + "brandIdFilter": { + "minItems": 1, + "maxItems": 50, + "description": "List of brandIds in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided.", + "type": "array", + "items": { + "type": "string" + } + }, + "brandNameSearch": { + "description": "Text to search for eligible brands in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided.", + "type": "string" + } + } + }, + "DSPAudienceResearchStudyV1M2": { + "allOf": [ + { + "type": "object", + "properties": { + "id": { + "description": "The study canonical identifier. Immutable field.", + "type": "string" + } + } + }, + { + "$ref": "#/components/schemas/BaseStudyV1M2" + }, + { + "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + }, + { + "$ref": "#/components/schemas/DSPAudienceResearchMetadataV1M2" + } + ], + "description": "DSP AUDIENCE_RESEARCH study object.", + "type": "object" + }, + "MeasurementStudiesTemplatedSurveyShortQuestion": { + "description": "The templated measurement survey question.", + "type": "object", + "properties": { + "gridQuestionResponse": { + "$ref": "#/components/schemas/MeasurementStudiesGridQuestionResponses" + }, + "placeholders": { + "minItems": 0, + "maxItems": 15, + "description": "List of question placeholders", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholder" + } + }, + "surveyQuestionTemplateId": { + "description": "The survey question template canonical identifier.", + "type": "string" + } + } + }, + "MeasurementStudiesSurveyQuestionObjectiveType": { + "description": "The survey objective. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, + "type": "string", + "enum": [ + "AWARENESS", + "PREFERENCE", + "FAVORABILITY", + "AD_RECALL", + "INTENT", + "ATTITUDES", + "UNAIDED_AWARENESS", + "CONSIDERATION", + "AGE", + "GENDER", + "HOUSEHOLD_INCOME", + "HOUSEHOLD_SIZE", + "CHILDREN_IN_HOUSEHOLD", + "EDUCATION", + "ETHNICITY", + "TIME_ONLINE", + "TV_MEDIA_CONSUMPTION", + "IN_MARKET_STATUS", + "PURCHASE_FREQUENCY", + "PURCHASE_HISTORY", + "PURCHASE_LOCATION", + "BEHAVIORS", + "FAMILIARITY", + "ASSOCIATION", + "OTHER" + ] + }, + "DSPOmnichannelMetricsStudyV1M3": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1M1" + }, + { + "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1M1" + }, + { + "$ref": "#/components/schemas/DSPOmnichannelMetricsMetadataV1M2" + } + ], + "description": "DSP OMNICHANNEL_METRICS study object.", + "type": "object" + }, + "DSPCreativeTestingEligibilityDataV1M2": { + "description": "The creative testing study eligibility data.", + "type": "object", + "properties": { + "audienceTargetingGroup": { + "$ref": "#/components/schemas/AudienceTargetingGroupV1M2" + } + } + }, + "PaginatedSurveysV1": { + "description": "A list of study surveys.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "surveys": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyV1" + } + } + } + }, + "MeasurementStudiesGridQuestionResponses": { + "description": "The grid question response object. Only applicable for SINGLE_SELECT_GRID type question.", + "type": "object", + "properties": { + "columns": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderFieldValue" + } + }, + "rows": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderFieldValue" + } + } + } + }, + "MeasurementOmnichannelMetricsFeeRequest": { + "description": "The request object to get fee for an Omnichannel Metrics study.", + "properties": { + "studyId": { + "description": "The canonical identifier that represents a unique study", + "type": "string" + }, + "advertiserId": { + "description": "The associated DSP advertiser identifier. Mandatory field for DSP clients.", + "type": "string" + } + } + }, + "GetMeasurementStudiesBrandLiftResult": { + "description": "The request object for fetching brand lift results of a specific study.", + "type": "object", + "properties": { + "studyId": { + "description": "The canonical identifier that represents a unique study.", + "type": "string" + } + } + }, + "SurveyResponsesV1": { + "description": "Surveys response.", + "type": "object", + "properties": { + "requestId": { + "description": "Request Id that uniquely identifies your request.", + "type": "string" + }, + "responses": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyResponseV1" + } + } + } + }, + "MeasurementStudiesEligibilityIssueSeverity": { + "description": "Supported values are WARNING, ERROR. ERROR severity issues need to be resolved while WARNING severity issues can be ignored. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "WARNING", + "ERROR", + "OTHER" + ] + }, + "PaginatedMeasurementReachAndFrequencyStudies": { + "description": "A list of Reach and Frequency studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementReachAndFrequencyStudy" + } + } + } + }, + "MeasurementStudiesFundingType": { + "description": "The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon. Check vendor product policy for pricing info. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, + "type": "string", + "enum": [ + "COMPLIMENTARY", + "THIRD_PARTY_PAYMENT", + "CPM", + "FLAT_RATE", + "OTHER" + ] + }, + "BaseEligibilityRequestV1M1": { + "description": "The request object of measurement eligibility check.", + "type": "object", + "properties": { + "fundingTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/FundingTypeV1M1" + } + }, + "vendorProductIdFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "vendorTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorTypeV1M1" + } + } + } + }, + "BaseEligibilityRequestV1M2": { + "description": "The request object of measurement eligibility check.", + "properties": { + "fundingTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/FundingTypeV1M2" + } + }, + "vendorProductIdFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "vendorTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorTypeV1M2" + } + } + } + }, + "BaseEligibilityRequestV1M3": { + "description": "The request object of measurement eligibility check.", + "properties": { + "fundingTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/FundingTypeV1M3" + } + }, + "vendorProductIdFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "vendorTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorTypeV1M3" + } + } + } + }, + "GetMeasurementStudiesAudienceResearch": { + "description": "The request object for audience research study.", + "type": "object", + "properties": { + "studyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Study canonical identifier to filter with.", + "type": "array", + "items": { + "type": "string" + } + }, + "advertiserId": { + "description": "The advertiser canonical identifier. Used for querying audience research studies for a DSP advertiser Account.", + "type": "string" + } + } + }, + "VendorProductRequestV1": { + "description": "The request object to fetch measurement vendor products.", + "type": "object", + "properties": { + "fundingTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "FundingType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/FundingTypeV1" + } + }, + "objectiveTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "StudyObjective filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/StudyObjectiveV1" + } + }, + "vendorProductIdFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "adTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "AdType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AdTypeV1" + } + }, + "vendorTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorTypeV1" + } + }, + "studyTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "StudyType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/StudyTypeV1" + } + } + } + }, + "MeasurementOmnichannelMetricsStudyEligibilityRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementStudiesBaseEligibilityRequest" + }, + { + "$ref": "#/components/schemas/MeasurementStudiesOmnichannelMetricsEligibilityData" + } + ], + "description": "The request object of omnichannel metrics eligibility check." + }, + "DSPOmnichannelMetricsStudyV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1" + }, + { + "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1" + }, + { + "$ref": "#/components/schemas/DSPOmnichannelMetricsMetadataV1M2" + } + ], + "description": "DSP OMNICHANNEL_METRICS study object.", + "type": "object" + }, + "DSPBrandLiftStudyV1": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1" + }, + { + "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1" + }, + { + "$ref": "#/components/schemas/DSPBrandLiftMetadataV1" + } + ], + "description": "DSP BRAND_LIFT study object.", + "type": "object" + }, + "DSPCreativeTestingMetadataV1M2": { + "description": "The basic model for all DSP CREATIVE_TESTING objective studies.", + "type": "object", + "properties": { + "brandName": { + "description": "The study brand name.", + "type": "string" + }, + "assets": { + "minItems": 1, + "maxItems": 10, + "description": "A list of assets to be used for the creative testing study as part of either the survey question or the response. In case of API responses, number of assets returned would be limited to 10 even if a creative testing study has more than 10 assets associated with it.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AssetV1M2" + } + }, + "audienceTargetingGroup": { + "$ref": "#/components/schemas/AudienceTargetingGroupV1M2" + }, + "productCategory": { + "description": "Optional study product category.", + "type": "string" + } + } + }, + "SurveyResponseResultV1": { + "description": "The rate of response for each response in Survey question.", + "properties": { + "questionResponse": { + "description": "The response choosen by Survey audience.", + "type": "string" + }, + "statisticalSignificance": { + "format": "double", + "description": "The significance percentage for the response data in this segment.", + "type": "number" + }, + "isQualifyingResponse": { + "description": "Is the response a qualifying response. Used in calculating Brand Lift.", + "type": "boolean" + }, + "responseRate": { + "format": "double", + "description": "The percentage of people choosing this response.", + "type": "number" + }, + "adExposedGroupResponseRate": { + "format": "double", + "description": "The percent of people in ad exposed group choosing this response.", + "type": "number" + }, + "controlGroupResponseRate": { + "format": "double", + "description": "The percent of people in control group choosing this response.", + "type": "number" + }, + "questionObjective": { + "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" + }, + "segmentValue": { + "description": "The segment value to which this response data belongs to. Would be corresponding to the above segmentType field.", + "type": "string" + }, + "questionSequence": { + "description": "Sequence number of the question in the Survey.", + "type": "number" + }, + "questionText": { + "description": "Text of the Survey question.", + "type": "string" + }, + "segmentType": { + "description": "The segment type to which this response data belongs to.", + "type": "string", + "enum": [ + "OVERALL", + "AGE", + "HOUSEHOLD_INCOME", + "GENDER", + "AUDIENCES", + "FREQUENCY", + "CHANNEL" + ] + }, + "marginOfError": { + "description": "The percentage of margin of error for this response.", + "type": "number" + } + } + }, + "MeasurementAudienceResearchStudyEligibilityRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementStudiesBaseEligibilityRequest" + }, + { + "$ref": "#/components/schemas/MeasurementAudienceResearchStudyEligibilityData" + } + ], + "description": "The request object of Audience Research study eligibility check." + }, + "SurveyQuestionPlaceholderAllowedValueV1": { + "description": "Allowed values for placeholder.", + "type": "object", + "properties": { + "values": { + "minItems": 0, + "maxItems": 100, + "description": "Allowed values for placeholder.", + "type": "array", + "items": { + "type": "string" + } + }, + "parentValue": { + "description": "The field value that this value list depend on. Will be empty if this is the default list.", + "type": "string" + }, + "parentField": { + "description": "The field name that this value list depends on. Will be empty if this is the default list.", + "type": "string" + } + } + }, + "MeasurementCreativeTestingStudyMetadata": { + "description": "The basic model for all CREATIVE_TESTING objective studies.", + "type": "object", + "properties": { + "brandName": { + "description": "The study brand name.", + "type": "string" + }, + "assets": { + "minItems": 1, + "maxItems": 10, + "description": "A list of assets to be used for the creative testing study as part of either the survey question or the response. In case of API responses, number of assets returned would be limited to 10 even if a creative testing study has more than 10 assets associated with it.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesAsset" + } + }, + "audienceTargetingGroup": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceTargetingGroup" + }, + "productCategory": { + "description": "Optional study product category.", + "type": "string" + } + } + }, + "AudienceGroupV1M2": { + "description": "The model for holding Audiece selection within a group. The expression within an audience group will be evaluated using the IntraGroupOperator. The InterGroupOperator will be applied on the output of one audience group with another audience group.", + "type": "object", + "properties": { + "interGroupOperator": { + "$ref": "#/components/schemas/AudienceSelectionOperatorV1M2" + }, + "intraGroupOperator": { + "$ref": "#/components/schemas/AudienceSelectionOperatorV1M2" + }, + "audienceSegments": { + "minItems": 0, + "maxItems": 100, + "description": "List of audience segments in this group.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentV1M2" + } + } + } + }, + "MeasurementStudiesOmnichannelMetricsBrand": { + "type": "object", + "properties": { + "brandId": { + "description": "The brand canonical Id", + "type": "string" + }, + "company": { + "type": "string" + }, + "category": { + "type": "string" + }, + "subcategory": { + "type": "string" + }, + "brand": { + "description": "The brand name.", + "type": "string" + }, + "majorBrand": { + "type": "string" + }, + "manufacturer": { + "type": "string" + } + } + }, + "StudyTypeV1M2": { + "description": "The study type.", + "readOnly": true, + "type": "string", + "enum": [ + "BRAND_LIFT", + "OMNICHANNEL_METRICS", + "AUDIENCE_RESEARCH", + "CREATIVE_TESTING" + ] + }, + "PaginatedDSPAudienceResearchStudiesV1M2": { + "description": "A list of audience research studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/DSPAudienceResearchStudyV1M2" + } + } + } + }, + "PaginatedDSPBrandLiftStudiesV1M1": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/DSPBrandLiftStudyV1M1" + } + } + } + }, + "PaginatedBaseStudiesV1": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseStudyV1" + } + } + } + }, + "MeasurementStudiesEligibilityMetadata": { + "description": "The eligibility metadata.", + "properties": { + "endDate": { + "format": "date-time", + "description": "The latest end date of the associated orders in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "impressions": { + "format": "int64", + "description": "The total estimated impressions.", + "readOnly": true, + "type": "integer" + }, + "flightLength": { + "description": "The flight length of the associated orders. Expressed in days.", + "readOnly": true, + "type": "integer" + }, + "startDate": { + "format": "date-time", + "description": "The earliest start date of associated orders in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "budget": { + "format": "double", + "description": "The total budget. Expressed in dollars.", + "readOnly": true, + "type": "number" + } + } + }, + "MeasurementCreativeTestingFeeRequest": { + "description": "The request object to get fee for a Creative Testing study.", + "properties": { + "vendorProductId": { + "description": "vendor product canonical identifier.", + "type": "string" + }, + "templatedQuestions": { + "minItems": 1, + "maxItems": 20, + "description": "A list of templated survey questions.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesTemplatedSurveyShortQuestion" + } + }, + "assets": { + "minItems": 1, + "maxItems": 10, + "description": "A list of assets to be used for the creative testing study as part of either the survey question or the response.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesAsset" + } + }, + "advertiserId": { + "description": "The associated DSP advertiser identifier. Mandatory field for DSP clients.", + "type": "string" + } + } + }, + "MeasurementBrandLiftStudyResult": { + "description": "The response object for downloading study results.", + "type": "object", + "properties": { + "fileDownloadUrl": { + "description": "A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created.", + "type": "string" + }, + "fileType": { + "type": "string", + "enum": [ + "CSV", + "PDF", + "POWERPOINT", + "JPEG", + "PNG", + "OTHER" + ] + } + } + }, + "PaginatedBaseStudiesV1M1": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseStudyV1M1" + } + } + } + }, + "MeasurementStudiesSurveyQuestionType": { + "description": "The survey question type. SINGLE_SELECT question will allow customers to choose only one response, MULTI_SELECT question will allow customers to choose multiple responses, RATING will allow customers to choose a rating on a scale (e.g. 1 to 5), FREE_TEXT will allow customers to provide a free formed question text, SINGLE_ASSET_SELECT will allow customers to choose an asset as the response. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, + "type": "string", + "enum": [ + "SINGLE_SELECT", + "MULTI_SELECT", + "RATING", + "FREE_TEXT", + "SINGLE_ASSET_SELECT", + "SINGLE_SELECT_GRID", + "OTHER" + ] + }, + "MeasurementStudiesAsset": { + "description": "The Amazon Creative Asset Library asset identifier. Refer https://advertising.amazon.com/API/docs/en-us/creative-asset-library", + "properties": { + "assetId": { + "description": "The assetId.", + "type": "string" + }, + "version": { + "description": "The version of the asset.", + "type": "string" + }, + "assetType": { + "$ref": "#/components/schemas/MeasurementStudiesAssetType" + } + } + }, + "VendorProductRequestV1M1": { + "description": "The request object to fetch measurement vendor products.", + "type": "object", + "properties": { + "fundingTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "FundingType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/FundingTypeV1M1" + } + }, + "objectiveTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "StudyObjective filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/StudyObjectiveV1" + } + }, + "vendorProductIdFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "adTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "AdType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AdTypeV1" + } + }, + "vendorTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorTypeV1M1" + } + }, + "studyTypeFilters": { + "minItems": 1, + "maxItems": 100, + "description": "StudyType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/StudyTypeV1" + } + } + } + }, + "MeasurementStudiesAudienceSegment": { + "description": "The model for holding an Audience Segment.", + "type": "object", + "properties": { + "segmentId": { + "description": "ID for the audience segment. This ID can be fetched from these APIs- https://advertising.amazon.com/API/docs/en-us/audiences/#/Discovery", + "type": "string" + } + } + }, + "MeasurementStudiesVendorProductRecommendationsOrderMetadata": { + "description": "Metadata around a hypothetical order.", + "type": "object", + "properties": { + "goal": { + "$ref": "#/components/schemas/MeasurementGoal" + }, + "endDate": { + "format": "date-time", + "description": "The estimated end date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "type": "string" + }, + "impressions": { + "format": "int64", + "description": "The total estimated impressions of the order.", + "type": "integer" + }, + "startDate": { + "format": "date-time", + "description": "The estimated start date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "type": "string" + }, + "budget": { + "format": "double", + "description": "The total estimated budget of the order.", + "type": "number" + } + } + }, + "UpdateDSPAudienceResearchStudyV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1M2" + }, + { + "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + }, + { + "$ref": "#/components/schemas/DSPAudienceResearchMetadataV1M2" + } + ], + "description": "Update DSP AUDIENCE_RESEARCH study object.", + "type": "object" + }, + "BrandLiftSummaryV1": { + "description": "Summary of Brand Lift achieved for an objective.", + "properties": { + "qualifyingResponses": { + "minItems": 0, + "maxItems": 10, + "description": "Qualifying responses aggregated to measure the Brand Lift.", + "type": "array", + "items": { + "type": "string" + } + }, + "statisticalSignificance": { + "format": "double", + "description": "The significance percentage of achieved Brand Lift.", + "type": "number" + }, + "controlGroupRate": { + "format": "double", + "description": "Control group response rate.", + "type": "number" + }, + "questionObjective": { + "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" + }, + "adExposedGroupRate": { + "format": "double", + "description": "Ad exposed group response rate.", + "type": "number" + }, + "benchmarkLiftRate": { + "format": "double", + "description": "The benchmark lift rate for the selected product category in the Survey.", + "type": "number" + }, + "questionText": { + "description": "Text of the Survey question.", + "type": "string" + } + } + }, + "TemplatedSurveyQuestionV1": { + "description": "The templated measurement survey question.", + "type": "object", + "properties": { + "placeholders": { + "minItems": 0, + "maxItems": 100, + "description": "List of question placeholders", + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyQuestionPlaceholderV1" + } + }, + "id": { + "description": "The survey question template canonical identifier.", + "type": "string" + } + } + }, + "SurveyQuestionSubCategoryV1M1": { + "description": "The survey question sub-category. Only applicable to certain categories", + "readOnly": true, + "type": "string", + "enum": [ + "DEMOGRAPHIC", + "BEHAVIOR", + "PURCHASE_HISTORY" + ] + }, + "PaginatedDSPOmnichannelMetricsStudiesV1M3": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/DSPOmnichannelMetricsStudyV1M3" + } + } + } + }, + "PaginatedDSPOmnichannelMetricsStudiesV1M2": { + "description": "A list of studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/DSPOmnichannelMetricsStudyV1M2" + } + } + } + }, + "TemplatedSurveyQuestionV1M1": { + "description": "The templated measurement survey question.", + "type": "object", + "properties": { + "gridQuestionResponse": { + "$ref": "#/components/schemas/GridQuestionResponsesV1M1" + }, + "placeholders": { + "minItems": 0, + "maxItems": 100, + "description": "List of question placeholders", + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyQuestionPlaceholderV1" + } + }, + "id": { + "description": "The survey question template canonical identifier.", + "type": "string" + } + } + }, + "MeasurementStudiesEligibilityField": { + "description": "Fields that will be checked as part of eligibility API call. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "LOCALE", + "BUDGET", + "GOAL", + "START_TIME", + "END_TIME", + "FLIGHT_LENGTH", + "LEAD_TIME", + "IMPRESSIONS", + "ORDER", + "BUYER_COUNT", + "OTHER" + ] + }, + "ResourceLinkV1M1": { + "description": "The link that can be used to access corresponding resources in advertising portal.", + "type": "object", + "properties": { + "name": { + "description": "The resource name.", + "type": "string" + }, + "url": { + "description": "The resource url.", + "type": "string" + } + } + }, + "VendorTypeV1M2": { + "description": "The measurement vendor type, each study type will have different supported vendors.", + "readOnly": true, + "type": "string", + "enum": [ + "AMAZON", + "OMNICHANNEL_METRICS" + ] + }, + "MeasurementStudiesPlaceholderValueType": { + "description": "The placeholder value type. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "STRING", + "INTEGER", + "OTHER" + ] + }, + "PaginatedMeasurementStudiesOmnichannelMetricsBrands": { + "type": "object", + "properties": { + "totalResults": { + "format": "int32", + "description": "The total number of matched brands.", + "type": "integer" + }, + "brands": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesOmnichannelMetricsBrand" + } + }, + "nextToken": { + "type": "string" + } + } + }, + "VendorTypeV1M3": { + "description": "The measurement vendor type, each study type will have different supported vendors.", + "readOnly": true, + "type": "string", + "enum": [ + "AMAZON", + "KANTAR", + "UPWAVE", + "NIELSEN", + "MACROMILL", + "DYNATA", + "LUCID", + "OMNICHANNEL_METRICS" + ] + }, + "MeasurementStudiesCampaignPlanningMetadata": { + "description": "The basic model for all CAMPAIGN_PLANNING objective studies.", + "type": "object", + "properties": { + "advertiserId": { + "description": "The associated advertiser identifier. Immutable field.", + "type": "string" + } + } + }, + "VendorTypeV1M1": { + "description": "The measurement vendor type, each study type will have different supported vendors.", + "readOnly": true, + "type": "string", + "enum": [ + "AMAZON", + "KANTAR", + "UPWAVE", + "NIELSEN", + "MACROMILL", + "DYNATA", + "LUCID" + ] + }, + "DSPCampaignMeasurementMetadataV1M1": { + "description": "The basic model for all DSP CAMPAIGN_MEASUREMENT objective studies.", + "type": "object", + "properties": { + "excludedLineItemIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical lineItem identifiers that are excluded from the study.", + "type": "array", + "items": { + "type": "string" + } + }, + "orderIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of canonical order identifiers that are associated with the study. By default all lineItems in those orders will be included.", + "type": "array", + "items": { + "type": "string" + } + }, + "advertiserId": { + "description": "The associated advertiser identifier. Immutable field.", + "type": "string" + } + } + }, + "MeasurementReachAndFrequencyEligibilityRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementStudiesBaseEligibilityRequest" + }, + { + "$ref": "#/components/schemas/MeasurementReachAndFrequencyEligibilityData" + } + ], + "description": "The request object of reach and frequency eligibility check.", + "type": "object" + }, + "GetMeasurementStudies": { + "description": "The request object for fetching measurement studies.", + "type": "object", + "properties": { + "studyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Study canonical identifier to filter with.", + "type": "array", + "items": { + "type": "string" + } + }, + "advertiserId": { + "description": "The advertiser canonical identifier. Either one of studyIds or advertiserId should be provided.", + "type": "string" + } + } + }, + "DSPBrandLiftMetadataV1": { + "description": "The basic model for all DSP BRAND_LIFT objective studies.", + "type": "object", + "properties": { + "brandName": { + "description": "The study brand name.", + "type": "string" + }, + "peerNames": { + "minItems": 0, + "maxItems": 100, + "description": "A list of peer names for the study brand.", + "type": "array", + "items": { + "type": "string" + } + }, + "benchmarkCategory": { + "$ref": "#/components/schemas/BenchmarkCategoryV1" + }, + "productCategory": { + "description": "The study product category.", + "type": "string" + } + } + }, + "MeasurementMarketplaceV1": { + "description": "The marketplace with corresponding rules.", + "type": "object", + "properties": { + "country": { + "$ref": "#/components/schemas/MeasurementCountryV1" + }, + "supportedLocales": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementLocaleV1" + } + }, + "minimumImpressions": { + "format": "int64", + "description": "The minimum impressions.", + "type": "integer" + }, + "minimumBudget": { + "format": "double", + "description": "The minimum budget. Expressed in dollars.", + "type": "number" + } + } + }, + "MeasurementStudiesAudienceGroup": { + "description": "The model for holding Audience selection within a group. The expression within an audience group will be evaluated using the IntraGroupOperator. The InterGroupOperator will be applied on the output of one audience group with another audience group.", + "type": "object", + "properties": { + "interGroupOperator": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceSelectionOperator" + }, + "intraGroupOperator": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceSelectionOperator" + }, + "audienceSegments": { + "minItems": 0, + "maxItems": 25, + "description": "List of audience segments in this group.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceSegment" + } + } + } + }, + "SurveyQuestionTemplateV1": { + "description": "Survey question template for vendor product.", + "type": "object", + "properties": { + "minimumQualifyingResponses": { + "description": "The minimum number of qualifying responses required for the question. This will be available if the qualifying responses are not pre-defined/inferred.", + "type": "integer" + }, + "maximumQualifyingResponses": { + "description": "The maximum number of qualifying responses allowed for the question. This will be available if the qualifying responses are not pre-defined/inferred.", + "type": "integer" + }, + "qualifyingResponses": { + "minItems": 0, + "maxItems": 100, + "description": "The pre-defined qualifying survey question responses with placeholders, this will help to define which responses will be counted as positive ones in the study report.", + "type": "array", + "items": { + "type": "string" + } + }, + "questionResponses": { + "minItems": 0, + "maxItems": 100, + "description": "The pre-defined survey question responses with placeholders.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "$ref": "#/components/schemas/MeasurementLocaleV1" + }, + "type": { + "$ref": "#/components/schemas/SurveyQuestionTypeV1" + }, + "objectiveType": { + "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" + }, + "questionText": { + "description": "The survey question text with placeholders.", + "type": "string" + }, + "vendorProductId": { + "description": "The associated vendor product id.", + "type": "string" + }, + "placeholderCandidates": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyQuestionPlaceholderCandidateV1" + } + }, + "minimumQuestionResponses": { + "description": "The minimum number of responses required for the question. This will be available if the question responses are not pre-defined/inferred.", + "type": "integer" + }, + "id": { + "description": "The survey question template canonical Id.", + "type": "string" + }, + "maximumQuestionResponses": { + "description": "The maximum number of responses allowed for the question. This will be available if the question responses are not pre-defined/inferred.", + "type": "integer" + } + } + }, + "CustomSurveyQuestionV1": { + "deprecated": true, + "description": "The templated measurement survey question.", + "type": "object", + "properties": { + "responses": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "$ref": "#/components/schemas/SurveyQuestionTypeV1" + }, + "questionText": { + "description": "The survey question text.", + "type": "string" + } + } + }, + "MeasurementStudyObjective": { + "description": "Measurement category based on the purpose of the measurement. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "CAMPAIGN_MEASUREMENT", + "CAMPAIGN_PLANNING", + "OTHER" + ] + }, + "SurveyStatusV1": { + "description": "The survey status. Only required if the survey is in DRAFT. Created survey will be in AVAILABLE status by default and will only be in IN_USE status if it's associated with a study.", + "type": "string", + "enum": [ + "IN_USE", + "AVAILABLE", + "DRAFT" + ] + }, + "GetMeasurementStudiesCreativeTestingResult": { + "description": "The request object for fetching creative testing results of a specific study.", + "type": "object", + "properties": { + "studyId": { + "description": "The canonical identifier that represents a unique study.", + "type": "string" + } + } + }, + "VendorProductV1M1": { + "description": "The measurement vendor product.", + "type": "object", + "properties": { + "vendorType": { + "$ref": "#/components/schemas/VendorTypeV1M1" + }, + "vendorProductType": { + "$ref": "#/components/schemas/VendorProductTypeV1M1" + }, + "adType": { + "$ref": "#/components/schemas/AdTypeV1" + }, + "fundingType": { + "$ref": "#/components/schemas/FundingTypeV1M1" + }, + "displayName": { + "description": "The vendor product display name.", + "readOnly": true, + "type": "string" + }, + "studyType": { + "$ref": "#/components/schemas/StudyTypeV1" + }, + "id": { + "description": "The vendor product identifier.", + "readOnly": true, + "type": "string" + }, + "objective": { + "$ref": "#/components/schemas/StudyObjectiveV1" + } + } + }, + "MeasurementCreativeTestingStudyEligibilityData": { + "description": "The creative testing study eligibility data.", + "type": "object", + "properties": { + "audienceTargetingGroup": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceTargetingGroup" + } + } + }, + "EligibilityResponseV1M2": { + "description": "The eligibility check response object.", + "properties": { + "metadata": { + "$ref": "#/components/schemas/EligibilityMetadataV1" + }, + "nextToken": { + "type": "string" + }, + "vendorProductEligibilities": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorProductEligibilityV1M2" + } + } + } + }, + "CreateDSPAudienceResearchStudyV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1M2" + }, + { + "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + }, + { + "$ref": "#/components/schemas/DSPAudienceResearchMetadataV1M2" + } + ], + "description": "Create DSP AUDIENCE_RESEARCH study object.", + "type": "object" + }, + "MeasurementStudiesSurveyQuestionPlaceholderAllowedRange": { + "description": "Allowed value range for placeholder.", + "type": "object", + "properties": { + "minimumValue": { + "format": "int32", + "description": "The minimum allowed value.", + "type": "integer" + }, + "parentValue": { + "description": "The field value that this range depends on. Will be empty if this range is the default range.", + "type": "string" + }, + "maximumValue": { + "format": "int32", + "description": "The maximum allowed value.", + "type": "integer" + }, + "parentField": { + "description": "The field name that this range depends on. Will be empty if this range is the default range.", + "type": "string" + } + } + }, + "DSPOmnichannelMetricsEligibilityRequestV1M3": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseEligibilityRequestV1M3" + }, + { + "$ref": "#/components/schemas/DSPOmnichannelMetricsEligibilityDataV1M2" + } + ], + "description": "The request object of DSP omnichannel metrics eligibility check." + }, + "DSPOmnichannelMetricsEligibilityRequestV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseEligibilityRequestV1M2" + }, + { + "$ref": "#/components/schemas/DSPOmnichannelMetricsEligibilityDataV1M2" + } + ], + "description": "The request object of DSP omnichannel metrics eligibility check." + }, + "CreateDSPCreativeTestingStudyV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1M2" + }, + { + "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + }, + { + "$ref": "#/components/schemas/DSPCreativeTestingMetadataV1M2" + } + ], + "description": "Create DSP CREATIVE_TESTING study object.", + "type": "object" + }, + "DSPCreativeTestingStudyV1M2": { + "allOf": [ + { + "type": "object", + "properties": { + "id": { + "description": "The study canonical identifier. Immutable field.", + "type": "string" + } + } + }, + { + "$ref": "#/components/schemas/BaseStudyV1M2" + }, + { + "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + }, + { + "$ref": "#/components/schemas/DSPCreativeTestingMetadataV1M2" + } + ], + "description": "DSP CREATIVE_TESTING study object.", + "type": "object" + }, + "GetMeasurementStudiesOmnichannelMetricsResult": { + "description": "The request object for fetching omnichannel metrics results of a specific study.", + "type": "object", + "properties": { + "studyId": { + "description": "The canonical identifier that represents a unique study.", + "type": "string" + } + } + }, + "GetMeasurementStudiesSurveyQuestionTemplate": { + "description": "The request object for fetching survey question templates of a specific vendor product.", + "type": "object", + "properties": { + "vendorProductId": { + "description": "Vendor product canonical identifier to filter with.", + "type": "string" + } + } + }, + "StudyResponsesV1": { + "description": "Studies response.", + "type": "object", + "properties": { + "requestId": { + "description": "Request Id that uniquely identifies your request.", + "type": "string" + }, + "responses": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/StudyResponseV1" + } + } + } + }, + "BrandLiftStudyResultV1": { + "description": "The result of Brand Lift study.", + "properties": { + "totalResponses": { + "description": "Total number of responses received in the Survey.", + "type": "number" + }, + "brandLiftSummary": { + "minItems": 1, + "maxItems": 50, + "description": "Summary of Brand Lift achieved for each objective.", + "type": "array", + "items": { + "$ref": "#/components/schemas/BrandLiftSummaryV1" + } + }, + "studyId": { + "description": "The canonical Id of Study.", + "type": "string" + }, + "surveyResponses": { + "minItems": 1, + "maxItems": 2000, + "description": "Detailed response rate for each response in Survey question aggregated by different segments.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyResponseResultV1" + } + } + } + }, + "MeasurementStudyType": { + "description": "The study type. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, + "type": "string", + "enum": [ + "BRAND_LIFT", + "OMNICHANNEL_METRICS", + "AUDIENCE_RESEARCH", + "CREATIVE_TESTING", + "REACH_AND_FREQUENCY", + "OTHER" + ] + }, + "PaginatedMeasurementAudienceResearchStudies": { + "description": "A list of audience research studies.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementAudienceResearchStudy" + } + } + } + }, + "MeasurementStudiesBaseEligibilityRequest": { + "description": "The request object of measurement eligibility check.", + "type": "object", + "properties": { + "fundingTypeFilters": { + "minItems": 0, + "maxItems": 5, + "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesFundingType" + } + }, + "vendorProductIdFilters": { + "minItems": 0, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "vendorTypeFilters": { + "minItems": 0, + "maxItems": 9, + "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesVendorType" + } + } + } + }, + "AudienceResearchStudyResultV1M2": { + "description": "The result of Audience Research study.", + "properties": { + "totalResponses": { + "description": "Total number of responses received in the Survey.", + "type": "number" + }, + "studyId": { + "description": "The canonical Id of Study.", + "type": "string" + }, + "surveyResponses": { + "minItems": 1, + "maxItems": 2000, + "description": "Detailed response rate for each response in Survey question aggregated by different segments.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyResponseResultV1" + } + } + } + }, + "MeasurementStudySubmissionType": { + "writeOnly": true, + "description": "The submission type for the creation and updating of studies. Currently, this submission type is supported for brand lift and reach and frequency studies only. This is an optional parameter in each of the request objects and its default value is `SUBMISSION` if not provided. A value of `SUBMISSION` indicates that a study should be submitted for approval. A value of `DRAFT` indicates that a study should be saved but not submitted.", + "type": "string", + "enum": [ + "DRAFT", + "SUBMISSION" + ] + }, + "PaginatedSurveyQuestionTemplatesV1M1": { + "type": "object", + "properties": { + "surveyQuestionTemplates": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyQuestionTemplateV1M1" + } + }, + "totalResults": { + "format": "int32", + "description": "The total number of templates.", + "type": "integer" + }, + "nextToken": { + "type": "string" + } + } + }, + "DSPBrandLiftStudyV1M1": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseStudyV1M1" + }, + { + "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1M1" + }, + { + "$ref": "#/components/schemas/DSPBrandLiftMetadataV1M1" + } + ], + "description": "DSP BRAND_LIFT study object.", + "type": "object" + }, + "EligibilityStatusV1": { + "description": "Supported values are ELIGIBLE, INELIGIBLE and ELIGIBLE_WITH_WARNING. INELIGIBLE status indicates the study can not be created.", + "type": "string", + "enum": [ + "ELIGIBLE", + "INELIGIBLE", + "ELIGIBLE_WITH_WARNING" + ] + }, + "DSPBrandLiftMetadataV1M1": { + "description": "The basic model for all DSP BRAND_LIFT objective studies.", + "type": "object", + "properties": { + "brandName": { + "description": "The study brand name.", + "type": "string" + }, + "peerNames": { + "minItems": 0, + "maxItems": 100, + "description": "A list of peer names for the study brand.", + "type": "array", + "items": { + "type": "string" + } + }, + "verb": { + "description": "The verb that will be used in the applicable survey questions to construct the question text.", + "type": "string" + }, + "benchmarkCategory": { + "$ref": "#/components/schemas/BenchmarkCategoryV1" + }, + "productCategory": { + "description": "The study product category.", + "type": "string" + } + } + }, + "MeasurementGoal": { + "description": "The measurement budget optimization goal type goal. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "ENGAGEMENT_WITH_MY_AD", + "CONSIDERATIONS_ON_AMAZON", + "CONVERSIONS_OFF_AMAZON", + "PURCHASES_ON_AMAZON", + "MOBILE_APP_INSTALLS", + "AWARENESS", + "OTHER" + ] + }, + "PaginatedVendorProductsV1": { + "description": "A list of measurement vendor products.", + "type": "object", + "properties": { + "totalResults": { + "format": "int32", + "description": "The total number of vendor products.", + "type": "integer" + }, + "vendorProducts": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorProductV1" + } + }, + "nextToken": { + "type": "string" + } + } + }, + "SurveyQuestionPlaceholderAllowedRangeV1": { + "description": "Allowed value range for placeholder.", + "type": "object", + "properties": { + "minimumValue": { + "format": "int32", + "description": "The minimum allowed value.", + "type": "integer" + }, + "parentValue": { + "description": "The field value that this range depends on. Will be empty if this range is the default range.", + "type": "string" + }, + "maximumValue": { + "format": "int32", + "description": "The maximum allowed value.", + "type": "integer" + }, + "parentField": { + "description": "The field name that this range depends on. Will be empty if this range is the default range.", + "type": "string" + } + } + }, + "MeasurementReachAndFrequencyEligibilityData": { + "description": "The campaign study eligibility data.", + "type": "object", + "properties": { + "currentStudyId": { + "description": "Optional current study identifier, if provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility check.", + "type": "string" + }, + "excludedLineItemIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical lineItem identifiers that are excluded from the eligibility check.", + "type": "array", + "items": { + "type": "string" + } + }, + "orderIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of canonical DSP order identifiers. By default all lineItems in those orders will be included.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "MeasurementStudiesSurveyQuestionPlaceholderFieldValue": { + "type": "object", + "properties": { + "value": { + "description": "The survey question placeholder field value.", + "type": "string" + }, + "isQualifying": { + "description": "This is only required if the corresponding field is 'response', this will help to define if the response value will be counted as a positive one in the study report.", + "type": "boolean" + } + } + }, + "StudyReviewStatusV1": { + "description": "The study review status. APPROVED studies will start delivering once reach the startDate.", + "type": "string", + "enum": [ + "APPROVED", + "REJECTED", + "INFEASIBLE" + ] + }, + "AssetTypeV1M2": { + "description": "The type of the Asset.", + "readOnly": true, + "type": "string", + "enum": [ + "IMAGE", + "VIDEO" + ] + }, + "MeasurementReachAndFrequencyStudy": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementBaseStudy" + }, + { + "$ref": "#/components/schemas/MeasurementReachAndFrequencyMetadata" + } + ], + "description": "REACH_AND_FREQUENCY study object.", + "type": "object" + }, + "GetMeasurementStudiesBrandLift": { + "description": "The request object for fetching brand lift studies.", + "type": "object", + "properties": { + "studyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Study canonical identifier to filter with.", + "type": "array", + "items": { + "type": "string" + } + }, + "advertiserId": { + "description": "The advertiser canonical identifier. Used for querying brand lift studies for a DSP advertiser Account.", + "type": "string" + } + } + }, + "PaginatedSurveysV1M1": { + "description": "A list of study surveys.", + "type": "object", + "properties": { + "nextToken": { + "type": "string" + }, + "surveys": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SurveyV1M1" + } + } + } + }, + "MeasurementStudiesVendorProduct": { + "description": "The measurement vendor product.", + "type": "object", + "properties": { + "vendorType": { + "$ref": "#/components/schemas/MeasurementStudiesVendorType" + }, + "vendorProductId": { + "description": "The vendor product identifier.", + "readOnly": true, + "type": "string" + }, + "adType": { + "minItems": 1, + "maxItems": 4, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesAdType" + } + }, + "fundingType": { + "$ref": "#/components/schemas/MeasurementStudiesFundingType" + }, + "displayName": { + "description": "The vendor product display name.", + "readOnly": true, + "type": "string" + }, + "studyType": { + "$ref": "#/components/schemas/MeasurementStudyType" + }, + "objective": { + "$ref": "#/components/schemas/MeasurementStudyObjective" + } + } + }, + "MeasurementCreativeTestingStudyResult": { + "description": "The response object for downloading study results.", + "type": "object", + "properties": { + "fileDownloadUrl": { + "description": "A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created.", + "type": "string" + }, + "fileType": { + "type": "string", + "enum": [ + "CSV" + ] + } + } + }, + "EligibilityFieldV1": { + "description": "Fields that will be checked as part of eligibility API call.", + "type": "string", + "enum": [ + "LOCALE", + "BUDGET", + "GOAL", + "START_TIME", + "END_TIME", + "FLIGHT_LENGTH", + "LEAD_TIME", + "IMPRESSIONS", + "ORDER" + ] + }, + "MeasurementStudiesVendorProductRecommendationsRequest": { "allOf": [ { - "$ref": "#/components/schemas/BaseEligibilityRequestV1M1" + "$ref": "#/components/schemas/MeasurementStudiesBaseEligibilityRequest" }, { - "$ref": "#/components/schemas/DSPBrandLiftEligibilityDataV1" + "$ref": "#/components/schemas/MeasurementStudiesVendorProductRecommendationsMetadata" } ], - "description": "The request object of DSP brand lift eligibility check.", + "description": "The request object to get recommendations.", "type": "object" }, - "PlaceholderValueTypeV1": { - "description": "The placeholder value type.", - "type": "string", - "enum": [ - "STRING", - "INTEGER" - ] + "MeasurementStudiesSurveyQuestionCategoryRequirement": { + "description": "The requirement for specific survey question category.", + "type": "object", + "properties": { + "minimumQuestions": { + "description": "The minimum number of questions required for the question category.", + "type": "integer" + }, + "maximumQuestions": { + "description": "The maximum number of questions required for the question category.", + "type": "integer" + }, + "category": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionCategory" + } + } }, - "BaseStudyV1M1": { - "description": "The base study object.", + "MeasurementStudiesSurveyShortQuestionTemplate": { + "description": "Template for short survey question for a vendor product. A short question supports 10 responses per question. For Grid based questions, maximum rows and columns can be 10 each.", "type": "object", "properties": { - "statusReasons": { + "minimumQualifyingResponses": { + "description": "The minimum number of qualifying responses required for the question. This will be available if the qualifying responses are not pre-defined/inferred.", + "type": "integer" + }, + "maximumQualifyingResponses": { + "description": "The maximum number of qualifying responses allowed for the question. This will be available if the qualifying responses are not pre-defined/inferred.", + "type": "integer" + }, + "subCategory": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionSubCategory" + }, + "qualifyingResponses": { "minItems": 0, - "maxItems": 100, - "description": "List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available.", - "readOnly": true, + "maxItems": 10, + "description": "The pre-defined qualifying survey question responses with placeholders, this will help to define which responses will be counted as positive ones in the study report.", "type": "array", "items": { "type": "string" } }, - "surveyId": { - "description": "The study survey canonical identifier.", - "type": "string" + "questionResponses": { + "minItems": 0, + "maxItems": 10, + "description": "The pre-defined survey question responses with placeholders.", + "type": "array", + "items": { + "type": "string" + } }, - "endDate": { - "format": "date-time", - "description": "The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders.", - "readOnly": true, - "type": "string" + "locale": { + "$ref": "#/components/schemas/MeasurementStudiesLocale" }, - "externalReferenceId": { - "description": "Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies.", - "type": "string" + "type": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionType" }, - "vendorProductId": { - "description": "Associated vendor product canonical identifier.", - "type": "string" + "priority": { + "description": "The priority of the question. If present this will determine the ordering of questions in a survey. The check will be enforced when a survey is created/updated. Lower number indicates higher priority.", + "type": "integer" }, - "submissionType": { - "$ref": "#/components/schemas/StudySubmissionTypeV1" + "objectiveType": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionObjectiveType" }, - "lastUpdatedDate": { - "format": "date-time", - "description": "The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "readOnly": true, + "questionText": { + "description": "The survey question text with placeholders.", "type": "string" }, - "studyResultStatus": { - "description": "The status of result of the study.", - "type": "string", - "enum": [ - "AVAILABLE" - ] + "vendorProductId": { + "description": "The associated vendor product id.", + "type": "string" }, - "rejectionReasons": { + "placeholderCandidates": { "minItems": 0, - "maxItems": 100, - "deprecated": true, - "description": "List of reasons for rejection, this will only be available if the status is REJECTED. This field is deprecated, use statusReasons instead.", - "readOnly": true, + "maxItems": 15, "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderCandidate" } }, - "reviewDate": { - "format": "date-time", - "description": "The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "readOnly": true, - "type": "string" + "gridQuestionResponse": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionGridQuestionResponse" }, - "name": { - "description": "The study name.", - "type": "string" + "minimumQuestionResponses": { + "description": "The minimum number of responses required for the question. This will be available if the question responses are not pre-defined/inferred.", + "type": "integer" }, - "comment": { - "description": "The approver's comment on why the study is approved/rejected.", - "readOnly": true, + "category": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionCategory" + }, + "maximumQuestionResponses": { + "description": "The maximum number of responses allowed for the question. This will be available if the question responses are not pre-defined/inferred.", + "type": "integer" + }, + "surveyQuestionTemplateId": { + "description": "The survey question template canonical Id.", "type": "string" + } + } + }, + "DSPCreativeTestingCostEstimationResponseV1M2": { + "description": "The response object of DSP Creative Testing study cost estimation.", + "properties": { + "cost": { + "description": "The estimated cost for the Study.", + "type": "number" }, - "links": { - "minItems": 0, - "maxItems": 100, + "currencyCode": { + "$ref": "#/components/schemas/CurrencyCodeV1M2" + } + } + }, + "MeasurementOmnichannelMetricsFee": { + "description": "The response object to get fee for an Omnichannel Metrics study.", + "properties": { + "fee": { + "format": "double", + "description": "The fee rate for the Study in percent. This will be expressed as a value between 0.0000 and 1.0000 and rounded to 4 decimal places.", + "maximum": 1, "readOnly": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/ResourceLinkV1M1" - } + "type": "number", + "minimum": 0, + "example": 0.04 + } + } + }, + "DSPCreativeTestingEligibilityRequestV1M2": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseEligibilityRequestV1M2" }, - "id": { - "description": "The study canonical identifier. Immutable field. This is required for update.", - "type": "string" + { + "$ref": "#/components/schemas/DSPCreativeTestingEligibilityDataV1M2" + } + ], + "description": "The request object of DSP Creative Testing study eligibility check." + }, + "PlanningOrderMetadataV1M3": { + "description": "Metadata around a hypothetical order.", + "type": "object", + "properties": { + "goal": { + "$ref": "#/components/schemas/MeasurementGoalV1" }, - "startDate": { + "endDate": { "format": "date-time", - "description": "The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders.", - "readOnly": true, + "description": "The estimated end date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", "type": "string" }, - "status": { - "$ref": "#/components/schemas/StudyStatusV1" + "impressions": { + "format": "int64", + "description": "The total estimated impressions of the order.", + "type": "integer" }, - "createDate": { + "startDate": { "format": "date-time", - "description": "The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "readOnly": true, + "description": "The estimated start date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", "type": "string" + }, + "budget": { + "format": "double", + "description": "The total estimated budget of the order.", + "type": "number" } } }, - "SurveyQuestionObjectiveTypeV1": { - "description": "The survey objective.", - "readOnly": true, + "MeasurementStudyStatusReasonType": { + "description": "Measurement study reason type. Consider upgrading API version if enum OTHER is received.", "type": "string", "enum": [ - "AWARENESS", - "PREFERENCE", - "FAVORABILITY", - "AD_RECALL", - "INTENT", - "ATTITUDES", - "BEHAVIORS", - "FAMILIARITY", - "ASSOCIATION" + "REMOVE_EXTRA_SPACES_BETWEEN_BEFORE_OR_AFTER_WORDS", + "REMOVE_SPACES_BETWEEN_LETTERS", + "REMOVE_ALLCAPITALIZED_WORDS_EXCEPT_FOR_ACRONYMS", + "CAPITALIZE_THE_FIRST_LETTER_OF_PROPER_NOUNS_LIKE_COUNTRY_NAMES", + "CAPITALIZE_THE_FIRST_LETTER_OF_ALL_CUSTOM_ATTRIBUTES", + "RESOLVE_INAPPROPRIATELY_CAPITALIZED_WORDS", + "RESOLVE_IMPROPERLY_CAPITALIZED_BRAND_OR_PRODUCT_CATEGORY", + "RESOLVE_IMPROPERLY_CAPITALIZED_CUSTOM_INPUTS", + "RESOLVE_IMPROPERLY_PLURALIZED_CUSTOM_INPUTS", + "REMOVE_ELLIPSES", + "REMOVE_HYPHENS_SEPARATING_SINGLE_WORDS", + "REMOVE_EXTRA_HYPHENS", + "REMOVE_PUNCTATION_COMBINATIONS", + "REMOVE_EXTRA_PUNCTUATION", + "REMOVE_PUNCTUATION_AT_THE_END_OF_WORDS", + "RESOLVE_UNCLEAR_BRAND_OR_PRODUCT_CATEGORY", + "RESOLVE_UNCLEAR_PEERS", + "RESOLVE_UNCLEAR_BRAND_OR_PRODUCT_NAME", + "RESOLVE_UNCLEAR_CUSTOM_INPUTS", + "REMOVE_TYPOS", + "RESOLVE_SUBJECT_VERB_DISAGREEMENT", + "MAKE_BRAND_OR_PRODUCT_CATEGORY_PLURAL", + "RESOLVE_INCORRECT_POSSESSIVE_NOUNS", + "CAPITALIZE_THE_FIRST_LETTER_OF_PROPER_NOUNS", + "REMOVE_REDUNDANT_ANSWER_CHOICES", + "RESOLVE_INCORRECT_TENSES", + "REMOVE_DUPLICATE_INPUTS", + "REMOVE_SPECIAL_CHARACTERS_AND_SYMBOLS", + "REMOVE_NONENGLISH_WORDS", + "REMOVE_UNCLEAR_OR_OBFUSCATED_OFFENSIVE_LANGUAGE", + "REMOVE_DEROGATORY_LANGUAGE", + "REMOVE_OFFENSIVE_ACRONYMS_AND_ABBREVIATIONS", + "REMOVE_OFFENSIVE_WORDS_OR_TERMS_DISGUISED_AS_NONOFFENSIVE_TERMS", + "REMOVE_TERMS_PRESENTED_IN_A_WAY_IN_WHICH_THEIR_TRUE_MEANING_IS_CLEARLY_OFFENSIVE", + "REMOVE_VULGAR_AND_PROFANE_WORDS", + "REMOVE_IRRELEVANT_WORDS", + "RESOLVE_NEGATIVE_QUESTIONS_AND_ANSWERS_ABOUT_PEERS", + "SURVEYS_WITH_POLITICAL_CONTENT_ARE_NOT_ALLOWED", + "ONLY_ONE_ACTIVE_STUDY_IS_ALLOWED_PER_BRAND_OR_PRODUCT", + "ADD_ORDERS_TO_INCREASE_IMPRESSIONS", + "INFEASIBLE_NOT_ENOUGH_IMPRESSIONS", + "OTHER" + ] + }, + "MeasurementStudiesCountry": { + "description": "The measurement country. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "US", + "UK", + "DE", + "FR", + "JP", + "CA", + "IT", + "ES", + "EG", + "BR", + "AU", + "AE", + "SA", + "RU", + "MX", + "NL", + "SG", + "SE", + "TR", + "PL", + "IN", + "OTHER" ] }, + "DSPBrandLiftEligibilityRequestV1M1": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseEligibilityRequestV1M1" + }, + { + "$ref": "#/components/schemas/DSPBrandLiftEligibilityDataV1" + } + ], + "description": "The request object of DSP brand lift eligibility check.", + "type": "object" + }, "GridQuestionResponsesV1M1": { "description": "The grid question response object. Only applicable for SINGLE_SELECT_GRID type question.", "type": "object", @@ -7526,18 +11086,6 @@ } } }, - "DSPAudienceResearchCostEstimationResponseV1M2": { - "description": "The response object of DSP Audience Research study cost estimation.", - "properties": { - "cost": { - "description": "The estimated cost for the Study.", - "type": "number" - }, - "currencyCode": { - "$ref": "#/components/schemas/CurrencyCodeV1M2" - } - } - }, "PaginatedVendorProductPoliciesV1": { "description": "A list of measurement vendor products policies.", "type": "object", @@ -7560,29 +11108,20 @@ } } }, - "PlanningEligibilityV1M3": { - "description": "The request object of measurement eligibility check.", + "PaginatedMeasurementBrandLiftStudies": { + "description": "A list of Brand Lift studies.", "type": "object", "properties": { - "vendorProductId": { - "description": "Vendor product canonical identifier.", + "nextToken": { "type": "string" }, - "rank": { - "description": "The lower the number, the more recommended the vendor product is.", - "type": "number" - }, - "issues": { + "measurements": { "minItems": 0, "maxItems": 100, - "description": "A list of issues will be provided if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING.", "type": "array", "items": { - "$ref": "#/components/schemas/EligibilityIssueV1M2" + "$ref": "#/components/schemas/MeasurementBrandLiftStudy" } - }, - "status": { - "$ref": "#/components/schemas/EligibilityStatusV1" } } }, @@ -7659,116 +11198,68 @@ } } }, - "BaseStudyV1M2": { - "description": "The base study object.", + "PaginatedOmnichannelMetricsBrandsV1M2": { "type": "object", "properties": { - "statusReasons": { + "totalResults": { + "format": "int32", + "description": "The total number of matched brands.", + "type": "integer" + }, + "brands": { "minItems": 0, "maxItems": 100, - "description": "List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available.", - "readOnly": true, "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/OmnichannelMetricsBrandV1M2" } }, - "surveyId": { - "description": "The study survey canonical identifier.", - "type": "string" - }, - "endDate": { - "format": "date-time", - "description": "The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders.", - "readOnly": true, - "type": "string" - }, - "externalReferenceId": { - "description": "Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies.", - "type": "string" - }, - "vendorProductId": { - "description": "Associated vendor product canonical identifier.", - "type": "string" - }, - "lastUpdatedDate": { - "format": "date-time", - "description": "The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "readOnly": true, - "type": "string" - }, - "studyResultStatus": { - "description": "The status of result of the study.", - "type": "string", - "enum": [ - "AVAILABLE" - ] - }, - "reviewDate": { - "format": "date-time", - "description": "The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "The study name.", - "type": "string" - }, - "comment": { - "description": "The approver's comment on why the study is approved/rejected.", - "readOnly": true, - "type": "string" - }, - "startDate": { - "format": "date-time", - "description": "The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders.", - "readOnly": true, - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/StudyStatusV1" - }, - "createDate": { - "format": "date-time", - "description": "The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "readOnly": true, + "nextToken": { "type": "string" } } }, - "UpdateDSPCreativeTestingStudyV1M2": { + "MeasurementCreativeTestingStudy": { "allOf": [ { - "$ref": "#/components/schemas/BaseStudyV1M2" + "$ref": "#/components/schemas/MeasurementBaseStudy" }, { - "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + "$ref": "#/components/schemas/MeasurementStudiesCampaignPlanningMetadata" }, { - "$ref": "#/components/schemas/DSPCreativeTestingMetadataV1M2" + "$ref": "#/components/schemas/MeasurementCreativeTestingStudyMetadata" } ], - "description": "Update DSP CREATIVE_TESTING study object.", + "description": "CREATIVE_TESTING study object.", "type": "object" }, - "PaginatedOmnichannelMetricsBrandsV1M2": { + "MeasurementStudiesAudienceSelectionOperator": { + "description": "The operator used in Audience Segment Selection to determine which operation needs to be applied across selected segments. AND operator takes priority over OR operator.", + "readOnly": true, + "type": "string", + "enum": [ + "OR", + "AND" + ] + }, + "MeasurementStudiesEligibilityResponse": { + "description": "The eligibility check response object.", "type": "object", "properties": { - "totalResults": { - "format": "int32", - "description": "The total number of matched brands.", - "type": "integer" + "metadata": { + "$ref": "#/components/schemas/MeasurementStudiesEligibilityMetadata" }, - "brands": { + "nextToken": { + "type": "string" + }, + "vendorProductEligibilities": { "minItems": 0, "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/OmnichannelMetricsBrandV1M2" + "$ref": "#/components/schemas/MeasurementStudiesVendorProductEligibility" } - }, - "nextToken": { - "type": "string" } } }, @@ -7804,27 +11295,30 @@ } } }, - "SurveyErrorV1": { - "description": "The survey error object.", + "MeasurementStudiesSurveyQuestionCategory": { + "description": "The survey question category. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, + "type": "string", + "enum": [ + "BRAND_KPI", + "WEIGHTING", + "CUSTOM", + "OTHER" + ] + }, + "MeasurementStudiesResourceLink": { + "description": "The link that can be used to access corresponding resources in advertising portal.", "type": "object", "properties": { - "fieldName": { - "type": "string" - }, - "questionTemplateId": { - "type": "string" - }, - "errorType": { + "name": { + "description": "The resource name.", "type": "string" }, - "message": { + "url": { + "description": "The resource url.", "type": "string" } - }, - "required": [ - "errorType", - "message" - ] + } }, "PaginatedVendorProductsV1M1": { "description": "A list of measurement vendor products.", @@ -7848,235 +11342,119 @@ } } }, - "VendorProductEligibilityV1": { - "description": "The measurement eligibility details for a certain vendor product.", + "MeasurementBrandLiftStudyMetadata": { + "description": "The basic model for all BRAND_LIFT studies.", "type": "object", "properties": { - "vendorProductId": { - "description": "vendor product canonical identifier.", + "brandEntityId": { + "description": "The brand entity Id to be measured by the study.", "type": "string" }, - "issues": { - "minItems": 0, - "maxItems": 100, - "description": "A list of issues will be provided if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING.", - "type": "array", - "items": { - "$ref": "#/components/schemas/EligibilityIssueV1" - } - }, - "status": { - "$ref": "#/components/schemas/EligibilityStatusV1" - } - } - }, - "DSPAudienceResearchMetadataV1M2": { - "description": "The basic model for all DSP AUDIENCE_RESEARCH objective studies.", - "type": "object", - "properties": { "brandName": { "description": "The study brand name.", "type": "string" }, - "audienceTargetingGroup": { - "$ref": "#/components/schemas/AudienceTargetingGroupV1M2" - }, - "peerNames": { + "excludedLineItemIds": { "minItems": 0, "maxItems": 100, - "description": "A list of peer names for the study brand.", + "description": "A list of canonical lineItem identifiers that are excluded from the study.", "type": "array", "items": { "type": "string" } }, - "productCategory": { - "description": "The study product category.", - "type": "string" - } - } - }, - "VendorProductPolicyV1": { - "description": "The policy rules will be enforced at vendor product level.", - "type": "object", - "properties": { - "maximumOrders": { - "description": "The maximum number of order allowed for the product.", - "type": "integer" - }, - "supportedGoals": { + "peerNames": { "minItems": 0, - "maxItems": 100, + "maxItems": 10, + "description": "A list of peer names for the study brand.", "type": "array", "items": { - "$ref": "#/components/schemas/MeasurementGoalV1" + "type": "string" } }, - "leadTime": { - "description": "Days required for measurement configuration. It is recommended that the startDate of the campaign has sufficient padding to accommodate this lead time, but measurement can begin after the campaign start date in some cases.", - "type": "integer" + "verb": { + "description": "The verb that will be used in the applicable survey questions to construct the question text.", + "type": "string" }, - "requiredQuestionObjectives": { - "minItems": 0, + "benchmarkCategory": { + "$ref": "#/components/schemas/MeasurementStudiesBenchmarkCategory" + }, + "orderIds": { + "minItems": 1, "maxItems": 100, - "description": "The required question objectives that need to be included as part of the survey.", + "description": "A list of canonical DSP order identifiers that are associated with the study. By default all lineItems in those orders will be included.", "type": "array", "items": { - "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" + "type": "string" } }, - "benchMarkCategoryRequired": { - "description": "Whether or not the benchMark category is required for measurement setup.", - "type": "boolean" - }, - "maximumSurveyQuestions": { - "description": "The maximum number of survey questions required for the product.", - "type": "integer" - }, - "minimumOrders": { - "description": "The maximum number of orders required for the product.", - "type": "integer" - }, - "vendorProductId": { - "description": "vendor product canonical identifier.", - "type": "string" - }, - "customQuestionAllowed": { - "description": "Whether custom survey questions are allowed.", - "type": "boolean" - }, - "maximumStudyLength": { - "description": "The maximum required length/duration of the study in days.", - "type": "integer" - }, - "maximumPeerNames": { - "description": "The maximum number of peer names required for the product.", - "type": "integer" - }, - "supportedMarketplaces": { - "minItems": 0, + "campaignIds": { + "minItems": 1, "maxItems": 100, + "description": "A list of canonical Sponsored Ads campaign identifiers that are associated with the study.", "type": "array", "items": { - "$ref": "#/components/schemas/MeasurementMarketplaceV1" + "type": "string" } }, - "minimumStudyLength": { - "description": "The minimum required length/duration of the study in days.", - "type": "integer" - }, - "vendorApprovalRequired": { - "description": "Whether or not the vendor requires an additional sign off process to fully qualify for study.", - "type": "boolean" - }, - "minimumPeerNames": { - "description": "The minimum number of peer names required for the product.", - "type": "integer" - }, - "externalReferenceIdRequired": { - "description": "Whether or not the vendor assigned external reference identifier is required for measurement setup.", - "type": "boolean" + "productCategory": { + "description": "The study product category.", + "type": "string" }, - "minimumSurveyQuestions": { - "description": "The minimum number of survey questions required for the product.", - "type": "integer" + "advertiserId": { + "description": "The associated advertiser identifier. Immutable field.", + "type": "string" } } }, - "PaginatedDSPBrandLiftStudiesV1": { - "description": "A list of studies.", + "VendorProductEligibilityV1": { + "description": "The measurement eligibility details for a certain vendor product.", "type": "object", "properties": { - "nextToken": { + "vendorProductId": { + "description": "vendor product canonical identifier.", "type": "string" }, - "measurements": { + "issues": { "minItems": 0, "maxItems": 100, + "description": "A list of issues will be provided if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING.", "type": "array", "items": { - "$ref": "#/components/schemas/DSPBrandLiftStudyV1" + "$ref": "#/components/schemas/EligibilityIssueV1" } + }, + "status": { + "$ref": "#/components/schemas/EligibilityStatusV1" } } }, - "SurveyResponseResultV1M2": { - "description": "The rate of response for each response in Survey question.", + "DSPAudienceResearchMetadataV1M2": { + "description": "The basic model for all DSP AUDIENCE_RESEARCH objective studies.", + "type": "object", "properties": { - "questionResponse": { - "$ref": "#/components/schemas/SurveyQuestionResponseV1M2" - }, - "questionAsset": { - "$ref": "#/components/schemas/AssetV1M2" - }, - "isQualifyingResponse": { - "description": "Is the response a qualifying response. Used in calculating Brand Lift.", - "type": "boolean" - }, - "responseRate": { - "format": "double", - "description": "The percentage of people choosing this response.", - "type": "number" - }, - "questionObjective": { - "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" - }, - "segmentValue": { - "description": "The segment value to which this response data belongs to. Would be corresponding to the above segmentType field.", - "type": "string" - }, - "questionText": { - "description": "Text of the Survey question.", + "brandName": { + "description": "The study brand name.", "type": "string" }, - "marginOfError": { - "description": "The percentage of margin of error for this response.", - "type": "number" - }, - "statisticalSignificance": { - "format": "double", - "description": "The significance percentage for the response data in this segment.", - "type": "number" - }, - "adExposedGroupResponseRate": { - "format": "double", - "description": "The percent of people in ad exposed group choosing this response.", - "type": "number" - }, - "controlGroupResponseRate": { - "format": "double", - "description": "The percent of people in control group choosing this response.", - "type": "number" + "audienceTargetingGroup": { + "$ref": "#/components/schemas/AudienceTargetingGroupV1M2" }, - "questionSequence": { - "description": "Sequence number of the question in the Survey.", - "type": "number" + "peerNames": { + "minItems": 0, + "maxItems": 100, + "description": "A list of peer names for the study brand.", + "type": "array", + "items": { + "type": "string" + } }, - "segmentType": { - "description": "The segment type to which this response data belongs to.", - "type": "string", - "enum": [ - "OVERALL", - "AGE", - "HOUSEHOLD_INCOME", - "GENDER", - "AUDIENCES", - "FREQUENCY", - "CHANNEL" - ] + "productCategory": { + "description": "The study product category.", + "type": "string" } } }, - "SurveyQuestionCategoryV1M1": { - "description": "The survey question category.", - "readOnly": true, - "type": "string", - "enum": [ - "BRAND_KPI", - "WEIGHTING", - "CUSTOM" - ] - }, "SurveyQuestionPlaceholderFieldValueV1": { "type": "object", "properties": { @@ -8098,19 +11476,32 @@ "DSP" ] }, - "StudyStatusV1": { - "description": "The study status. Only required if study is in DRAFT as part of study creation/update.", - "type": "string", - "enum": [ - "RUNNING", - "PENDING", - "APPROVED", - "REJECTED", - "ENDED", - "CANCELLED", - "DRAFT", - "INFEASIBLE" - ] + "MeasurementCreativeTestingStudyEligibilityRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementStudiesBaseEligibilityRequest" + }, + { + "$ref": "#/components/schemas/MeasurementCreativeTestingStudyEligibilityData" + } + ], + "description": "The request object of Creative Testing study eligibility check." + }, + "MeasurementOmnichannelMetricsResult": { + "description": "The response object for downloading study results.", + "type": "object", + "properties": { + "fileDownloadUrl": { + "description": "A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created.", + "type": "string" + }, + "fileType": { + "type": "string", + "enum": [ + "EXCEL" + ] + } + } }, "VendorProductTypeV1M2": { "description": "The measurement vendor product type.", @@ -8123,63 +11514,6 @@ "SHOPPER_PANEL_COMPARISON_CREATIVE_TESTING" ] }, - "SurveyResponseResultV1M1": { - "description": "The rate of response for each response in Survey question.", - "properties": { - "questionResponse": { - "description": "The response choosen by Survey audience.", - "type": "string" - }, - "statisticalSignificance": { - "description": "The significance percentage for the response data in this segment.", - "type": "number" - }, - "isQualifyingResponse": { - "description": "Is the response a qualifying response. Used in calculating Brand Lift.", - "type": "boolean" - }, - "responseRate": { - "description": "The percentage of people choosing this response.", - "type": "number" - }, - "adExposedGroupResponseRate": { - "description": "The percent of people in ad exposed group choosing this response.", - "type": "number" - }, - "controlGroupResponseRate": { - "description": "The percent of people in control group choosing this response.", - "type": "number" - }, - "questionObjective": { - "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1M1" - }, - "segmentValue": { - "description": "The segment value to which this response data belongs to. Would be corresponding to the above segmentType field.", - "type": "string" - }, - "questionSequence": { - "description": "Sequence number of the question in the Survey.", - "type": "number" - }, - "questionText": { - "description": "Text of the Survey question.", - "type": "string" - }, - "segmentType": { - "description": "The segment type to which this response data belongs to.", - "type": "string", - "enum": [ - "OVERALL", - "AGE", - "HOUSEHOLD_INCOME", - "GENDER", - "AUDIENCES", - "FREQUENCY", - "CHANNEL" - ] - } - } - }, "VendorProductTypeV1M1": { "description": "The measurement vendor product type.", "readOnly": true, @@ -8196,6 +11530,78 @@ "LUCID" ] }, + "MeasurementCreativeTestingFee": { + "description": "The response object to get fee for a Creative Testing study.", + "properties": { + "fee": { + "description": "The fee for the Study. Check currencyCode field for the currency in which this field is expressed.", + "type": "number" + }, + "currencyCode": { + "$ref": "#/components/schemas/MeasurementStudiesCurrencyCode" + } + } + }, + "MeasurementStudiesVendorProductRequest": { + "description": "The request object to fetch measurement vendor products.", + "type": "object", + "properties": { + "fundingTypeFilters": { + "minItems": 0, + "maxItems": 5, + "description": "FundingType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesFundingType" + } + }, + "objectiveTypeFilters": { + "minItems": 0, + "maxItems": 3, + "description": "StudyObjective filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudyObjective" + } + }, + "vendorProductIdFilters": { + "minItems": 1, + "maxItems": 100, + "description": "VendorProduct identifier filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "type": "string" + } + }, + "adTypeFilters": { + "minItems": 0, + "maxItems": 4, + "description": "AdType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesAdType" + } + }, + "vendorTypeFilters": { + "minItems": 0, + "maxItems": 8, + "description": "VendorType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesVendorType" + } + }, + "studyTypeFilters": { + "minItems": 0, + "maxItems": 5, + "description": "StudyType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudyType" + } + } + } + }, "VendorProductTypeV1M3": { "description": "The measurement vendor product type.", "readOnly": true, @@ -8213,24 +11619,35 @@ "OMNICHANNEL_METRICS" ] }, - "SurveyQuestionTypeV1": { - "description": "The survey question type. SINGLE_SELECT question will allow customers to choose only one response, MULTI_SELECT question will allow customers to choose multiple responses, RATING will allow customers to choose a rating on a scale (e.g. 1 to 5), FREE_TEXT will allow customers to provide a free formed question text, SINGLE_ASSET_SELECT will allow customers to choose an asset as the response.", - "readOnly": true, + "MeasurementStudiesSurveyQuestionPlaceholderCandidateType": { + "description": "The placeholder type for survey question template. Consider upgrading API version if enum `OTHER` is received.", "type": "string", "enum": [ - "SINGLE_SELECT", - "MULTI_SELECT", - "RATING", - "FREE_TEXT", - "SINGLE_ASSET_SELECT" + "CHANNEL", + "QUESTION_TEXT", + "PLACEMENT_TYPE", + "RESPONSE", + "ACTION", + "TIME", + "DUMMY_PLACEHOLDER_1", + "DUMMY_PLACEHOLDER_2", + "BRAND_OR_PRODUCT_CATEGORY", + "BRAND_OR_PRODUCT_NAME", + "CHARACTERISTIC", + "VERB", + "CATEGORY", + "PERIOD", + "CUSTOM_STATEMENT", + "OTHER" ] }, - "FundingTypeV1": { - "description": "The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon.", + "MeasurementStudyResultStatus": { + "description": "The status of the result of the study. Consider upgrading API version if enum `OTHER` is received.", "readOnly": true, "type": "string", "enum": [ - "COMPLIMENTARY" + "AVAILABLE", + "OTHER" ] }, "MeasurementLocaleV1": { @@ -8240,92 +11657,24 @@ "EN_US" ] }, - "BenchmarkCategoryV1": { - "description": "The study benchmark product category.", - "type": "string", - "enum": [ - "APPLIANCES", - "APPS_AND_GAMES", - "ARTS_CRAFTS_AND_SEWING", - "AUTOMOTIVE", - "BABY", - "BEAUTY_AND_PERSONAL_CARE", - "BOOKS", - "CELL_PHONES_AND_ACCESSORIES", - "CLOTHING_SHOES_AND_JEWELRY", - "COMPUTERS_AND_ACCESSORIES", - "DIGITAL_MUSIC", - "ELECTRONICS", - "EDUCATION", - "FINANCIAL_AND_INSURANCE", - "FOOD", - "BEVERAGES", - "HEALTH_AND_HOUSEHOLD", - "HOME_AND_KITCHEN", - "KITCHEN_AND_DINING", - "MOVIES_AND_TV", - "OFFICE_PRODUCTS", - "PATIO_LAWN_AND_GARDEN", - "PET_SUPPLIES", - "RESTAURANTS", - "SOFTWARE", - "SPORTS_AND_OUTDOORS", - "TELECOMMUNICATIONS_SERVICES", - "TOOLS_AND_HOME_IMPROVEMENT", - "TOYS_AND_GAMES", - "VIDEO_GAMES", - "HOSPITALITY" - ] - }, - "StudyResponseV1": { - "description": "Study response.", + "MeasurementStudiesOmnichannelMetricsBrandSearchRequest": { + "description": "The request object to fetch brands to be used in the OMNICHANNEL_METRICS vendor product.", "type": "object", "properties": { - "code": { - "description": "An enumerated success or error code for machine use.", - "type": "string" - }, - "index": { - "format": "int32", - "description": "The index of the object in the request, starting from 1.", - "type": "integer" - }, - "studyId": { - "description": "The study canonical identifier.", - "type": "string" - }, - "message": { - "description": "A human-readable message of the code.", - "type": "string" - }, - "errors": { - "minItems": 0, - "maxItems": 100, + "brandIdFilter": { + "minItems": 1, + "maxItems": 50, + "description": "List of brandIds in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided.", "type": "array", "items": { - "$ref": "#/components/schemas/SubErrorV1" + "type": "string" } - } - } - }, - "SubErrorV1": { - "description": "The sub error object.", - "type": "object", - "properties": { - "fieldName": { - "type": "string" - }, - "errorType": { - "type": "string" }, - "message": { + "brandNameSearch": { + "description": "Text to search for eligible brands in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided.", "type": "string" } - }, - "required": [ - "errorType", - "message" - ] + } }, "BrandLiftStudyResultV1M1": { "description": "The result of Brand Lift study.", @@ -8358,14 +11707,6 @@ } } }, - "StudyObjectiveV1": { - "description": "Measurement category based on the purpose of the measurement.", - "type": "string", - "enum": [ - "CAMPAIGN_MEASUREMENT", - "CAMPAIGN_PLANNING" - ] - }, "SurveyQuestionTemplateV1M1": { "description": "Survey question template for vendor product.", "type": "object", @@ -8448,63 +11789,35 @@ } } }, - "OmnichannelMetricsBrandSearchRequestV1M2": { - "description": "The request object to fetch brands to be used in the OMNICHANNEL_METRICS vendor product.", + "MeasurementStudiesVendorProductRecommendationsMetadata": { + "description": "The recommendations metadata.", "type": "object", "properties": { - "brandIdFilter": { - "minItems": 1, - "maxItems": 50, - "description": "List of brandIds in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided.", + "orderMetadata": { + "minItems": 0, + "maxItems": 7, "type": "array", "items": { - "type": "string" - } - }, - "brandNameSearch": { - "description": "Text to search for eligible brands in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided.", - "type": "string" - } - } - }, - "DSPAudienceResearchStudyV1M2": { - "allOf": [ - { - "type": "object", - "properties": { - "id": { - "description": "The study canonical identifier. Immutable field.", - "type": "string" - } + "$ref": "#/components/schemas/MeasurementStudiesVendorProductRecommendationsOrderMetadata" } }, - { - "$ref": "#/components/schemas/BaseStudyV1M2" - }, - { - "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" - }, - { - "$ref": "#/components/schemas/DSPAudienceResearchMetadataV1M2" - } - ], - "description": "DSP AUDIENCE_RESEARCH study object.", - "type": "object" - }, - "DSPOmnichannelMetricsStudyV1M3": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseStudyV1M1" + "locale": { + "$ref": "#/components/schemas/MeasurementStudiesLocale" }, - { - "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1M1" + "studyTypeFilters": { + "minItems": 0, + "maxItems": 5, + "description": "StudyType identifier filters to be applied when fecthing recommendations. If not supplied we will check for all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudyType" + } }, - { - "$ref": "#/components/schemas/DSPOmnichannelMetricsMetadataV1M2" + "advertiserId": { + "description": "The advertiserId.", + "type": "string" } - ], - "description": "DSP OMNICHANNEL_METRICS study object.", - "type": "object" + } }, "DSPCampaignPlanningMetadataV1M2": { "description": "The basic model for all DSP CAMPAIGN_PLANNING objective studies.", @@ -8516,15 +11829,6 @@ } } }, - "DSPCreativeTestingEligibilityDataV1M2": { - "description": "The creative testing study eligibility data.", - "type": "object", - "properties": { - "audienceTargetingGroup": { - "$ref": "#/components/schemas/AudienceTargetingGroupV1M2" - } - } - }, "DSPCreativeTestingCostEstimationRequestV1M2": { "description": "The request object of DSP Creative Testing study cost estimation.", "properties": { @@ -8568,20 +11872,22 @@ } } }, - "PaginatedSurveysV1": { - "description": "A list of study surveys.", + "GetMeasurementStudiesCreativeTesting": { + "description": "The request object for fetching creative testing studies.", "type": "object", "properties": { - "nextToken": { - "type": "string" - }, - "surveys": { - "minItems": 0, - "maxItems": 100, + "studyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Study canonical identifier to filter with.", "type": "array", "items": { - "$ref": "#/components/schemas/SurveyV1" + "type": "string" } + }, + "advertiserId": { + "description": "The advertiser canonical identifier. Used for querying creative testing studies for a DSP advertiser Account.", + "type": "string" } } }, @@ -8625,203 +11931,196 @@ "SUBMISSION" ] }, - "SurveyResponsesV1": { - "description": "Surveys response.", + "GetMeasurementStudiesReachAndFrequencyResult": { + "description": "The request object for fetching reach and frequency results of a specific study.", "type": "object", "properties": { - "requestId": { - "description": "Request Id that uniquely identifies your request.", + "studyId": { + "description": "The canonical identifier that represents a unique study.", "type": "string" - }, - "responses": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyResponseV1" - } } } }, - "BaseEligibilityRequestV1M1": { - "description": "The request object of measurement eligibility check.", + "GetMeasurementStudiesAudienceResearchResult": { + "description": "The request object for fetching audience research study results of a specific study.", "type": "object", "properties": { - "fundingTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/FundingTypeV1M1" - } - }, - "vendorProductIdFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "type": "string" - } - }, - "vendorTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorTypeV1M1" - } + "studyId": { + "description": "The canonical identifier that represents a unique study.", + "type": "string" } } }, - "VendorTypeV1": { - "description": "The measurement vendor type, each study type will have different supported vendors.", - "readOnly": true, - "type": "string", - "enum": [ - "AMAZON" - ] - }, - "BaseEligibilityRequestV1M2": { - "description": "The request object of measurement eligibility check.", + "PaginatedMeasurementStudiesVendorProductRecommendationsResponse": { + "description": "The vendor product recommendations response object.", + "type": "object", "properties": { - "fundingTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/FundingTypeV1M2" - } + "metadata": { + "$ref": "#/components/schemas/MeasurementStudiesEligibilityMetadata" }, - "vendorProductIdFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "type": "string" - } + "nextToken": { + "type": "string" }, - "vendorTypeFilters": { - "minItems": 1, + "recommendations": { + "minItems": 0, "maxItems": 100, - "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", "type": "array", "items": { - "$ref": "#/components/schemas/VendorTypeV1M2" + "$ref": "#/components/schemas/MeasurementStudiesVendorProductRecommendation" } } } }, - "BaseEligibilityRequestV1M3": { - "description": "The request object of measurement eligibility check.", + "MeasurementStudiesEligibilityIssue": { + "description": "The list of eligibility issues.", "properties": { - "fundingTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/FundingTypeV1M3" - } + "severity": { + "$ref": "#/components/schemas/MeasurementStudiesEligibilityIssueSeverity" }, - "vendorProductIdFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "code": { + "description": "An enumerated issue code for machine use.", + "type": "string" + }, + "field": { + "$ref": "#/components/schemas/MeasurementStudiesEligibilityField" + }, + "message": { + "description": "A human-readable description of the issue with suggestions on how to resolve the issue.", + "type": "string" + } + } + }, + "MeasurementStudiesCustomSurveyQuestion": { + "description": "The templated measurement survey question.", + "type": "object", + "properties": { + "responses": { + "minItems": 0, + "maxItems": 10, "type": "array", "items": { "type": "string" } }, - "vendorTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorTypeV1M3" - } + "type": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionType" + }, + "questionText": { + "description": "The survey question text.", + "type": "string" } } }, - "VendorProductRequestV1": { - "description": "The request object to fetch measurement vendor products.", + "MeasurementStudiesSurveyQuestionGridQuestionResponse": { + "description": "The grid question response object. Only applicable for SINGLE_SELECT_GRID type question.", "type": "object", "properties": { - "fundingTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "FundingType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/FundingTypeV1" - } + "columns": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderCandidate" }, - "objectiveTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "StudyObjective filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/StudyObjectiveV1" - } + "rows": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderCandidate" + } + } + }, + "MeasurementStudiesVendorProductRecommendation": { + "description": "The vendor product recommendation object with elgibility status.", + "type": "object", + "properties": { + "vendorProductId": { + "description": "Vendor product canonical identifier.", + "type": "string" }, - "vendorProductIdFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorProduct identifier filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "type": "string" - } + "rank": { + "description": "The lower the number, the more recommended the vendor product is.", + "type": "number" }, - "adTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "AdType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "issues": { + "minItems": 0, + "maxItems": 10, + "description": "A list of issues will be provided containing the fields causing the issue if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING.", "type": "array", "items": { - "$ref": "#/components/schemas/AdTypeV1" + "$ref": "#/components/schemas/MeasurementStudiesEligibilityIssue" } }, - "vendorTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorTypeV1" - } + "status": { + "$ref": "#/components/schemas/MeasurementStudiesEligibilityStatus" + } + } + }, + "VendorTypeV1": { + "description": "The measurement vendor type, each study type will have different supported vendors.", + "readOnly": true, + "type": "string", + "enum": [ + "AMAZON" + ] + }, + "MeasurementStudiesEligibilityStatus": { + "description": "Supported values are ELIGIBLE, INELIGIBLE and ELIGIBLE_WITH_WARNING. INELIGIBLE status indicates the study can not be created.", + "type": "string", + "enum": [ + "ELIGIBLE", + "INELIGIBLE", + "ELIGIBLE_WITH_WARNING" + ] + }, + "MeasurementStudiesAdType": { + "description": "Supported ad types.", + "readOnly": true, + "type": "string", + "enum": [ + "DSP", + "SB", + "SP", + "SD" + ] + }, + "MeasurementStudiesVendorProductEligibility": { + "description": "The measurement eligibility details for a certain vendor product.", + "type": "object", + "properties": { + "vendorProductId": { + "description": "vendor product canonical identifier.", + "type": "string" }, - "studyTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "StudyType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", + "issues": { + "minItems": 0, + "maxItems": 11, + "description": "A list of issues will be provided containing the fields causing the issue if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING.", "type": "array", "items": { - "$ref": "#/components/schemas/StudyTypeV1" + "$ref": "#/components/schemas/MeasurementStudiesEligibilityIssue" } + }, + "status": { + "$ref": "#/components/schemas/MeasurementStudiesEligibilityStatus" } } }, - "DSPOmnichannelMetricsStudyV1M2": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseStudyV1" - }, - { - "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1" - }, - { - "$ref": "#/components/schemas/DSPOmnichannelMetricsMetadataV1M2" - } - ], - "description": "DSP OMNICHANNEL_METRICS study object.", - "type": "object" + "MeasurementStudiesCurrencyCode": { + "description": "Currency Code. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "USD", + "CAD", + "MXN", + "BRL", + "GBP", + "EUR", + "AED", + "SAR", + "INR", + "JPY", + "AUD", + "SGD", + "TRY", + "SEK", + "EGP", + "PLN", + "OTHER" + ] }, "EligibilityMetadataV1": { "description": "The eligibility metadata.", @@ -8966,6 +12265,52 @@ } } }, + "MeasurementStudiesOmnichannelMetricsEligibilityData": { + "description": "The campaign study eligibility data.", + "type": "object", + "properties": { + "currentStudyId": { + "description": "Optional current study identifier. If provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility checks.", + "type": "string" + }, + "excludedLineItemIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical lineItem identifiers that are excluded from the eligibility check.", + "type": "array", + "items": { + "type": "string" + } + }, + "orderIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of DSP canonical order identifiers. By default all lineItems in those orders will be included.", + "type": "array", + "items": { + "type": "string" + } + }, + "campaignIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of canonical Sponsored Ads campaign identifiers that are associated with the study.", + "type": "array", + "items": { + "type": "string" + } + }, + "brandIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical brand identifiers.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, "VendorProductEligibilityV1M2": { "description": "The measurement eligibility details for a certain vendor product.", "type": "object", @@ -9012,43 +12357,80 @@ } } }, - "DSPBrandLiftStudyV1": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseStudyV1" + "MeasurementAudienceResearchFee": { + "description": "The response object to get fee for a Audience Research study.", + "properties": { + "fee": { + "description": "The fee for the Study. Check currencyCode field for the currency in which this field is expressed.", + "type": "number" }, - { - "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1" + "currencyCode": { + "$ref": "#/components/schemas/MeasurementStudiesCurrencyCode" + } + } + }, + "MeasurementStudiesSurvey": { + "description": "The measurement survey.", + "type": "object", + "properties": { + "vendorProductId": { + "description": "The vendor product canonical identifier.", + "type": "string" + }, + "surveyId": { + "description": "The survey canonical identifier. Immutable field.", + "type": "string" + }, + "customQuestions": { + "minItems": 1, + "maxItems": 20, + "description": "A list of custom survey questions.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesCustomSurveyQuestion" + } + }, + "templatedShortQuestions": { + "minItems": 1, + "maxItems": 20, + "description": "A list of templated survey short questions.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesTemplatedSurveyShortQuestion" + } + }, + "studyId": { + "description": "The associated study identifier. Survey needs to be created prior to the study creation.", + "readOnly": true, + "type": "string" }, - { - "$ref": "#/components/schemas/DSPBrandLiftMetadataV1" + "status": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyStatus" } - ], - "description": "DSP BRAND_LIFT study object.", - "type": "object" + } }, - "DSPCreativeTestingMetadataV1M2": { - "description": "The basic model for all DSP CREATIVE_TESTING objective studies.", + "MeasurementAudienceResearchStudyMetadata": { + "description": "The basic model for all AUDIENCE_RESEARCH objective studies.", "type": "object", "properties": { "brandName": { "description": "The study brand name.", "type": "string" }, - "assets": { - "minItems": 1, + "audienceTargetingGroup": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceTargetingGroup" + }, + "peerNames": { + "minItems": 0, "maxItems": 10, - "description": "A list of assets to be used for the creative testing study as part of either the survey question or the response. In case of API responses, number of assets returned would be limited to 10 even if a creative testing study has more than 10 assets associated with it.", + "description": "A list of peer names for the study brand.", "type": "array", "items": { - "$ref": "#/components/schemas/AssetV1M2" + "type": "string" } }, - "audienceTargetingGroup": { - "$ref": "#/components/schemas/AudienceTargetingGroupV1M2" - }, "productCategory": { - "description": "Optional study product category.", + "description": "The study product category.", "type": "string" } } @@ -9122,6 +12504,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.", @@ -9182,144 +12567,150 @@ } } }, - "SurveyResponseResultV1": { - "description": "The rate of response for each response in Survey question.", - "properties": { - "questionResponse": { - "description": "The response choosen by Survey audience.", - "type": "string" - }, - "statisticalSignificance": { - "format": "double", - "description": "The significance percentage for the response data in this segment.", - "type": "number" - }, - "isQualifyingResponse": { - "description": "Is the response a qualifying response. Used in calculating Brand Lift.", - "type": "boolean" - }, - "responseRate": { - "format": "double", - "description": "The percentage of people choosing this response.", - "type": "number" - }, - "adExposedGroupResponseRate": { - "format": "double", - "description": "The percent of people in ad exposed group choosing this response.", - "type": "number" - }, - "controlGroupResponseRate": { - "format": "double", - "description": "The percent of people in control group choosing this response.", - "type": "number" - }, - "questionObjective": { - "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" - }, - "segmentValue": { - "description": "The segment value to which this response data belongs to. Would be corresponding to the above segmentType field.", - "type": "string" - }, - "questionSequence": { - "description": "Sequence number of the question in the Survey.", - "type": "number" - }, - "questionText": { - "description": "Text of the Survey question.", - "type": "string" - }, - "segmentType": { - "description": "The segment type to which this response data belongs to.", - "type": "string", - "enum": [ - "OVERALL", - "AGE", - "HOUSEHOLD_INCOME", - "GENDER", - "AUDIENCES", - "FREQUENCY", - "CHANNEL" - ] - }, - "marginOfError": { - "description": "The percentage of margin of error for this response.", - "type": "number" - } - } - }, - "SurveyQuestionPlaceholderAllowedValueV1": { - "description": "Allowed values for placeholder.", + "MeasurementReachAndFrequencyMetadata": { + "description": "The basic model for all REACH_AND_FREQUENCY studies.", "type": "object", "properties": { - "values": { + "excludedLineItemIds": { "minItems": 0, "maxItems": 100, - "description": "Allowed values for placeholder.", + "description": "A list of canonical lineItem identifiers that are excluded from the study.", "type": "array", "items": { "type": "string" } }, - "parentValue": { - "description": "The field value that this value list depend on. Will be empty if this is the default list.", - "type": "string" - }, - "parentField": { - "description": "The field name that this value list depends on. Will be empty if this is the default list.", - "type": "string" - } - } - }, - "AudienceGroupV1M2": { - "description": "The model for holding Audiece selection within a group. The expression within an audience group will be evaluated using the IntraGroupOperator. The InterGroupOperator will be applied on the output of one audience group with another audience group.", - "type": "object", - "properties": { - "interGroupOperator": { - "$ref": "#/components/schemas/AudienceSelectionOperatorV1M2" - }, - "intraGroupOperator": { - "$ref": "#/components/schemas/AudienceSelectionOperatorV1M2" - }, - "audienceSegments": { - "minItems": 0, + "orderIds": { + "minItems": 1, "maxItems": 100, - "description": "List of audience segments in this group.", + "description": "A list of canonical DSP order identifiers that are associated with the study. By default all lineItems in those orders will be included.", "type": "array", "items": { - "$ref": "#/components/schemas/AudienceSegmentV1M2" + "type": "string" } + }, + "advertiserId": { + "description": "The associated advertiser identifier. Immutable field.", + "type": "string" } } }, - "StudyTypeV1M2": { - "description": "The study type.", - "readOnly": true, + "MeasurementStudyStatus": { + "description": "The study status. Only required if study is in DRAFT as part of study creation/update. Consider upgrading API version if enum `OTHER` is received.", "type": "string", "enum": [ - "BRAND_LIFT", - "OMNICHANNEL_METRICS", - "AUDIENCE_RESEARCH", - "CREATIVE_TESTING" + "RUNNING", + "PENDING", + "APPROVED", + "REJECTED", + "ENDED", + "CANCELLED", + "DRAFT", + "INFEASIBLE", + "OTHER" ] }, - "PaginatedDSPAudienceResearchStudiesV1M2": { - "description": "A list of audience research studies.", + "MeasurementAudienceResearchStudyResult": { + "description": "The response object for downloading study results.", "type": "object", "properties": { - "nextToken": { + "fileDownloadUrl": { + "description": "A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created.", "type": "string" }, - "measurements": { + "fileType": { + "type": "string", + "enum": [ + "CSV" + ] + } + } + }, + "MeasurementBaseStudy": { + "description": "The base study object.", + "type": "object", + "properties": { + "statusReasons": { "minItems": 0, - "maxItems": 100, + "maxItems": 42, + "description": "List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available.", + "readOnly": true, "type": "array", "items": { - "$ref": "#/components/schemas/DSPAudienceResearchStudyV1M2" + "$ref": "#/components/schemas/MeasurementStudyStatusReason" } + }, + "surveyId": { + "description": "The study survey canonical identifier.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders.", + "readOnly": true, + "type": "string" + }, + "link": { + "$ref": "#/components/schemas/MeasurementStudiesResourceLink" + }, + "externalReferenceId": { + "description": "Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies.", + "type": "string" + }, + "vendorProductId": { + "description": "Associated vendor product canonical identifier.", + "type": "string" + }, + "submissionType": { + "$ref": "#/components/schemas/MeasurementStudySubmissionType" + }, + "lastUpdatedDate": { + "format": "date-time", + "description": "The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "studyResultStatus": { + "$ref": "#/components/schemas/MeasurementStudyResultStatus" + }, + "reviewDate": { + "format": "date-time", + "description": "The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The study name.", + "type": "string" + }, + "comment": { + "description": "The approver's comment on why the study is approved/rejected.", + "readOnly": true, + "type": "string" + }, + "studyId": { + "description": "The study canonical identifier. Immutable field.", + "readOnly": true, + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders.", + "readOnly": true, + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/MeasurementStudyStatus" + }, + "createDate": { + "format": "date-time", + "description": "The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "readOnly": true, + "type": "string" } } }, - "PaginatedDSPBrandLiftStudiesV1M1": { + "PaginatedMeasurementBaseStudies": { "description": "A list of studies.", "type": "object", "properties": { @@ -9331,28 +12722,51 @@ "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/DSPBrandLiftStudyV1M1" + "$ref": "#/components/schemas/MeasurementBaseStudy" } } } }, - "PaginatedBaseStudiesV1": { - "description": "A list of studies.", + "MeasurementStudiesPaginatedVendorProducts": { + "description": "A list of measurement vendor products.", "type": "object", "properties": { - "nextToken": { - "type": "string" + "totalResults": { + "format": "int32", + "description": "The total number of vendor products.", + "type": "integer" }, - "measurements": { + "vendorProducts": { "minItems": 0, "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/BaseStudyV1" + "$ref": "#/components/schemas/MeasurementStudiesVendorProduct" } + }, + "nextToken": { + "type": "string" } } }, + "MeasurementStudiesVendorType": { + "description": "The measurement vendor name, each study type will have different supported vendors. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, + "type": "string", + "enum": [ + "AMAZON", + "KANTAR", + "UPWAVE", + "NIELSEN", + "MACROMILL", + "DYNATA", + "LUCID", + "OMNICHANNEL_METRICS", + "ISPOT", + "VIDEOAMP", + "OTHER" + ] + }, "CuratedStudyResultV1": { "description": "The response object for downloading curated study results.", "type": "object", @@ -9375,23 +12789,6 @@ } } }, - "PaginatedBaseStudiesV1M1": { - "description": "A list of studies.", - "type": "object", - "properties": { - "nextToken": { - "type": "string" - }, - "measurements": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/BaseStudyV1M1" - } - } - } - }, "EligibilityResponseV1": { "description": "The eligibility check response object.", "type": "object", @@ -9481,66 +12878,6 @@ } } }, - "VendorProductRequestV1M1": { - "description": "The request object to fetch measurement vendor products.", - "type": "object", - "properties": { - "fundingTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "FundingType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/FundingTypeV1M1" - } - }, - "objectiveTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "StudyObjective filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/StudyObjectiveV1" - } - }, - "vendorProductIdFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorProduct identifier filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "type": "string" - } - }, - "adTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "AdType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/AdTypeV1" - } - }, - "vendorTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "VendorType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorTypeV1M1" - } - }, - "studyTypeFilters": { - "minItems": 1, - "maxItems": 100, - "description": "StudyType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/StudyTypeV1" - } - } - } - }, "DSPBrandLiftEligibilityRequestV1": { "allOf": [ { @@ -9561,21 +12898,6 @@ "ERROR" ] }, - "UpdateDSPAudienceResearchStudyV1M2": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseStudyV1M2" - }, - { - "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" - }, - { - "$ref": "#/components/schemas/DSPAudienceResearchMetadataV1M2" - } - ], - "description": "Update DSP AUDIENCE_RESEARCH study object.", - "type": "object" - }, "EligibilityIssueV1": { "description": "The list of eligibility issues.", "type": "object", @@ -9596,46 +12918,14 @@ } } }, - "BrandLiftSummaryV1": { - "description": "Summary of Brand Lift achieved for an objective.", - "properties": { - "qualifyingResponses": { - "minItems": 0, - "maxItems": 10, - "description": "Qualifying responses aggregated to measure the Brand Lift.", - "type": "array", - "items": { - "type": "string" - } - }, - "statisticalSignificance": { - "format": "double", - "description": "The significance percentage of achieved Brand Lift.", - "type": "number" - }, - "controlGroupRate": { - "format": "double", - "description": "Control group response rate.", - "type": "number" - }, - "questionObjective": { - "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" - }, - "adExposedGroupRate": { - "format": "double", - "description": "Ad exposed group response rate.", - "type": "number" - }, - "benchmarkLiftRate": { - "format": "double", - "description": "The benchmark lift rate for the selected product category in the Survey.", - "type": "number" - }, - "questionText": { - "description": "Text of the Survey question.", - "type": "string" - } - } + "MeasurementStudiesSurveyStatus": { + "description": "The survey status. Only required if the survey is in DRAFT. Created survey will be in AVAILABLE status by default and will only be in IN_USE status if it's associated with a study.", + "type": "string", + "enum": [ + "IN_USE", + "AVAILABLE", + "DRAFT" + ] }, "PlanningEligibilityResponseV1M3": { "description": "The planning eligibility response object.", @@ -9657,87 +12947,20 @@ } } }, - "TemplatedSurveyQuestionV1": { - "description": "The templated measurement survey question.", - "type": "object", - "properties": { - "placeholders": { - "minItems": 0, - "maxItems": 100, - "description": "List of question placeholders", - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyQuestionPlaceholderV1" - } - }, - "id": { - "description": "The survey question template canonical identifier.", - "type": "string" - } - } - }, - "SurveyQuestionSubCategoryV1M1": { - "description": "The survey question sub-category. Only applicable to certain categories", - "readOnly": true, - "type": "string", - "enum": [ - "DEMOGRAPHIC", - "BEHAVIOR", - "PURCHASE_HISTORY" - ] - }, - "PaginatedDSPOmnichannelMetricsStudiesV1M3": { - "description": "A list of studies.", + "MeasurementStudiesSurveyQuestionPlaceholderAllowedValue": { + "description": "Allowed value for placeholder.", "type": "object", "properties": { - "nextToken": { + "parentValue": { + "description": "The field value that this value list depend on. Will be empty if this is the default list.", "type": "string" }, - "measurements": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/DSPOmnichannelMetricsStudyV1M3" - } - } - } - }, - "PaginatedDSPOmnichannelMetricsStudiesV1M2": { - "description": "A list of studies.", - "type": "object", - "properties": { - "nextToken": { + "value": { + "description": "Allowed value string..", "type": "string" }, - "measurements": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/DSPOmnichannelMetricsStudyV1M2" - } - } - } - }, - "TemplatedSurveyQuestionV1M1": { - "description": "The templated measurement survey question.", - "type": "object", - "properties": { - "gridQuestionResponse": { - "$ref": "#/components/schemas/GridQuestionResponsesV1M1" - }, - "placeholders": { - "minItems": 0, - "maxItems": 100, - "description": "List of question placeholders", - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyQuestionPlaceholderV1" - } - }, - "id": { - "description": "The survey question template canonical identifier.", + "parentField": { + "description": "The field name that this value list depends on. Will be empty if this is the default list.", "type": "string" } } @@ -9764,42 +12987,16 @@ } } }, - "ResourceLinkV1M1": { - "description": "The link that can be used to access corresponding resources in advertising portal.", - "type": "object", - "properties": { - "name": { - "description": "The resource name.", - "type": "string" - }, - "url": { - "description": "The resource url.", - "type": "string" - } - } - }, - "VendorTypeV1M2": { - "description": "The measurement vendor type, each study type will have different supported vendors.", - "readOnly": true, - "type": "string", - "enum": [ - "AMAZON", - "OMNICHANNEL_METRICS" - ] - }, - "VendorTypeV1M3": { - "description": "The measurement vendor type, each study type will have different supported vendors.", - "readOnly": true, + "MeasurementStudiesSurveyQuestionPlaceholderInferredField": { + "description": "The inferred field for survey question placeholder candidate. Consider upgrading API version if enum `OTHER` is received.", "type": "string", - "enum": [ - "AMAZON", - "KANTAR", - "UPWAVE", - "NIELSEN", - "MACROMILL", - "DYNATA", - "LUCID", - "OMNICHANNEL_METRICS" + "enum": [ + "STUDY_BRAND_NAME", + "STUDY_BRAND_NAME_UNQUALIFIED", + "STUDY_PEER_NAME", + "STUDY_PRODUCT_CATEGORY", + "STUDY_VERB", + "OTHER" ] }, "DSPCampaignMeasurementMetadataV1": { @@ -9830,20 +13027,6 @@ } } }, - "VendorTypeV1M1": { - "description": "The measurement vendor type, each study type will have different supported vendors.", - "readOnly": true, - "type": "string", - "enum": [ - "AMAZON", - "KANTAR", - "UPWAVE", - "NIELSEN", - "MACROMILL", - "DYNATA", - "LUCID" - ] - }, "SurveyQuestionPlaceholderV1": { "description": "The object specifying a placeholder in Survey question.", "type": "object", @@ -9863,31 +13046,49 @@ } } }, - "DSPCampaignMeasurementMetadataV1M1": { - "description": "The basic model for all DSP CAMPAIGN_MEASUREMENT objective studies.", + "MeasurementStudiesAudienceTargetingGroup": { + "description": "The model for holding Audience targeting group. The includedAudienceGroups and excludedAudienceGroups are always joined with AND operator.", "type": "object", "properties": { - "excludedLineItemIds": { + "includedAudienceGroups": { "minItems": 0, - "maxItems": 100, - "description": "A list of canonical lineItem identifiers that are excluded from the study.", + "maxItems": 25, + "description": "List of audience groups to be included in the targeted audience.", "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/MeasurementStudiesAudienceGroup" } }, - "orderIds": { - "minItems": 1, - "maxItems": 100, - "description": "A list of canonical order identifiers that are associated with the study. By default all lineItems in those orders will be included.", + "excludedAudienceGroups": { + "minItems": 0, + "maxItems": 25, + "description": "List of audience groups to be excluded from the targeted audience.", "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/MeasurementStudiesAudienceGroup" } + } + } + }, + "MeasurementStudiesError": { + "description": "The error response object.", + "type": "object", + "properties": { + "requestId": { + "description": "Request Id that uniquely identifies your request.", + "type": "string" }, - "advertiserId": { - "description": "The associated advertiser identifier. Immutable field.", + "message": { + "description": "A human-readable description of the response.", "type": "string" + }, + "errors": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSubError" + } } } }, @@ -9965,28 +13166,48 @@ "BUYER_COUNT" ] }, - "DSPBrandLiftMetadataV1": { - "description": "The basic model for all DSP BRAND_LIFT objective studies.", + "MeasurementOmnichannelMetricsStudyMetadata": { + "description": "The basic model for all OMNICHANNEL_METRICS objective studies.", "type": "object", "properties": { - "brandName": { - "description": "The study brand name.", - "type": "string" + "excludedLineItemIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical lineItem identifiers that are excluded from the study.", + "type": "array", + "items": { + "type": "string" + } }, - "peerNames": { + "orderIds": { "minItems": 0, "maxItems": 100, - "description": "A list of peer names for the study brand.", + "description": "A list of DSP canonical order identifiers that are associated with the study. By default all lineItems in those orders will be included.", "type": "array", "items": { "type": "string" } }, - "benchmarkCategory": { - "$ref": "#/components/schemas/BenchmarkCategoryV1" + "campaignIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical Sponsored Ads campaign identifiers that are associated with the study.", + "type": "array", + "items": { + "type": "string" + } }, - "productCategory": { - "description": "The study product category.", + "brandIds": { + "minItems": 0, + "maxItems": 100, + "description": "A list of canonical brand ids to be tracked for off-Amazon conversions.", + "type": "array", + "items": { + "type": "string" + } + }, + "advertiserId": { + "description": "The associated advertiser identifier. Immutable field.", "type": "string" } } @@ -10021,33 +13242,6 @@ } } }, - "MeasurementMarketplaceV1": { - "description": "The marketplace with corresponding rules.", - "type": "object", - "properties": { - "country": { - "$ref": "#/components/schemas/MeasurementCountryV1" - }, - "supportedLocales": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/MeasurementLocaleV1" - } - }, - "minimumImpressions": { - "format": "int64", - "description": "The minimum impressions.", - "type": "integer" - }, - "minimumBudget": { - "format": "double", - "description": "The minimum budget. Expressed in dollars.", - "type": "number" - } - } - }, "PlanningEligibilityDataV1M3": { "description": "The planning eligibility data.", "type": "object", @@ -10095,96 +13289,20 @@ "BR" ] }, - "SurveyQuestionTemplateV1": { - "description": "Survey question template for vendor product.", - "type": "object", - "properties": { - "minimumQualifyingResponses": { - "description": "The minimum number of qualifying responses required for the question. This will be available if the qualifying responses are not pre-defined/inferred.", - "type": "integer" - }, - "maximumQualifyingResponses": { - "description": "The maximum number of qualifying responses allowed for the question. This will be available if the qualifying responses are not pre-defined/inferred.", - "type": "integer" - }, - "qualifyingResponses": { - "minItems": 0, - "maxItems": 100, - "description": "The pre-defined qualifying survey question responses with placeholders, this will help to define which responses will be counted as positive ones in the study report.", - "type": "array", - "items": { - "type": "string" - } - }, - "questionResponses": { - "minItems": 0, - "maxItems": 100, - "description": "The pre-defined survey question responses with placeholders.", - "type": "array", - "items": { - "type": "string" - } - }, - "locale": { - "$ref": "#/components/schemas/MeasurementLocaleV1" - }, - "type": { - "$ref": "#/components/schemas/SurveyQuestionTypeV1" - }, - "objectiveType": { - "$ref": "#/components/schemas/SurveyQuestionObjectiveTypeV1" - }, - "questionText": { - "description": "The survey question text with placeholders.", - "type": "string" - }, - "vendorProductId": { - "description": "The associated vendor product id.", - "type": "string" - }, - "placeholderCandidates": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyQuestionPlaceholderCandidateV1" - } - }, - "minimumQuestionResponses": { - "description": "The minimum number of responses required for the question. This will be available if the question responses are not pre-defined/inferred.", - "type": "integer" - }, - "id": { - "description": "The survey question template canonical Id.", - "type": "string" - }, - "maximumQuestionResponses": { - "description": "The maximum number of responses allowed for the question. This will be available if the question responses are not pre-defined/inferred.", - "type": "integer" - } - } - }, - "CustomSurveyQuestionV1": { - "deprecated": true, - "description": "The templated measurement survey question.", - "type": "object", - "properties": { - "responses": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "type": "string" - } + "MeasurementAudienceResearchStudy": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementBaseStudy" }, - "type": { - "$ref": "#/components/schemas/SurveyQuestionTypeV1" + { + "$ref": "#/components/schemas/MeasurementStudiesCampaignPlanningMetadata" }, - "questionText": { - "description": "The survey question text.", - "type": "string" + { + "$ref": "#/components/schemas/MeasurementAudienceResearchStudyMetadata" } - } + ], + "description": "AUDIENCE_RESEARCH study object.", + "type": "object" }, "BaseEligibilityRequestV1": { "description": "The request object of measurement eligibility check.", @@ -10211,54 +13329,11 @@ "vendorTypeFilters": { "minItems": 1, "maxItems": 100, - "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorTypeV1" - } - } - } - }, - "SurveyStatusV1": { - "description": "The survey status. Only required if the survey is in DRAFT. Created survey will be in AVAILABLE status by default and will only be in IN_USE status if it's associated with a study.", - "type": "string", - "enum": [ - "IN_USE", - "AVAILABLE", - "DRAFT" - ] - }, - "VendorProductV1M1": { - "description": "The measurement vendor product.", - "type": "object", - "properties": { - "vendorType": { - "$ref": "#/components/schemas/VendorTypeV1M1" - }, - "vendorProductType": { - "$ref": "#/components/schemas/VendorProductTypeV1M1" - }, - "adType": { - "$ref": "#/components/schemas/AdTypeV1" - }, - "fundingType": { - "$ref": "#/components/schemas/FundingTypeV1M1" - }, - "displayName": { - "description": "The vendor product display name.", - "readOnly": true, - "type": "string" - }, - "studyType": { - "$ref": "#/components/schemas/StudyTypeV1" - }, - "id": { - "description": "The vendor product identifier.", - "readOnly": true, - "type": "string" - }, - "objective": { - "$ref": "#/components/schemas/StudyObjectiveV1" + "description": "VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VendorTypeV1" + } } } }, @@ -10292,100 +13367,36 @@ "FAMILIARITY" ] }, - "EligibilityResponseV1M2": { - "description": "The eligibility check response object.", - "properties": { - "metadata": { - "$ref": "#/components/schemas/EligibilityMetadataV1" - }, - "nextToken": { - "type": "string" - }, - "vendorProductEligibilities": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/VendorProductEligibilityV1M2" - } - } - } - }, - "CreateDSPAudienceResearchStudyV1M2": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseStudyV1M2" - }, - { - "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" - }, - { - "$ref": "#/components/schemas/DSPAudienceResearchMetadataV1M2" - } - ], - "description": "Create DSP AUDIENCE_RESEARCH study object.", - "type": "object" - }, - "DSPOmnichannelMetricsEligibilityRequestV1M3": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseEligibilityRequestV1M3" - }, - { - "$ref": "#/components/schemas/DSPOmnichannelMetricsEligibilityDataV1M2" - } - ], - "description": "The request object of DSP omnichannel metrics eligibility check." - }, - "DSPOmnichannelMetricsEligibilityRequestV1M2": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseEligibilityRequestV1M2" - }, - { - "$ref": "#/components/schemas/DSPOmnichannelMetricsEligibilityDataV1M2" - } - ], - "description": "The request object of DSP omnichannel metrics eligibility check." - }, - "CreateDSPCreativeTestingStudyV1M2": { + "MeasurementBrandLiftStudyEligibilityRequest": { "allOf": [ { - "$ref": "#/components/schemas/BaseStudyV1M2" - }, - { - "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + "$ref": "#/components/schemas/MeasurementStudiesBaseEligibilityRequest" }, { - "$ref": "#/components/schemas/DSPCreativeTestingMetadataV1M2" + "$ref": "#/components/schemas/MeasurementBrandLiftStudyEligibilityData" } ], - "description": "Create DSP CREATIVE_TESTING study object.", + "description": "The request object of brand lift eligibility check.", "type": "object" }, - "DSPCreativeTestingStudyV1M2": { - "allOf": [ - { - "type": "object", - "properties": { - "id": { - "description": "The study canonical identifier. Immutable field.", - "type": "string" - } - } - }, - { - "$ref": "#/components/schemas/BaseStudyV1M2" + "MeasurementStudiesSubError": { + "description": "The sub error object.", + "type": "object", + "properties": { + "fieldName": { + "type": "string" }, - { - "$ref": "#/components/schemas/DSPCampaignPlanningMetadataV1M2" + "errorType": { + "type": "string" }, - { - "$ref": "#/components/schemas/DSPCreativeTestingMetadataV1M2" + "message": { + "type": "string" } - ], - "description": "DSP CREATIVE_TESTING study object.", - "type": "object" + }, + "required": [ + "errorType", + "message" + ] }, "MeasurementGoalV1": { "description": "The measurement budget optimization goal type goal.", @@ -10428,52 +13439,40 @@ } } }, - "StudyResponsesV1": { - "description": "Studies response.", + "MeasurementStudiesMarketplace": { + "description": "The marketplace with corresponding rules.", "type": "object", "properties": { - "requestId": { - "description": "Request Id that uniquely identifies your request.", - "type": "string" + "country": { + "$ref": "#/components/schemas/MeasurementStudiesCountry" }, - "responses": { + "supportedLocales": { "minItems": 0, - "maxItems": 100, + "maxItems": 2, "type": "array", "items": { - "$ref": "#/components/schemas/StudyResponseV1" + "$ref": "#/components/schemas/MeasurementStudiesLocale" } - } - } - }, - "BrandLiftStudyResultV1": { - "description": "The result of Brand Lift study.", - "properties": { - "totalResponses": { - "description": "Total number of responses received in the Survey.", - "type": "number" }, - "brandLiftSummary": { - "minItems": 1, - "maxItems": 50, - "description": "Summary of Brand Lift achieved for each objective.", - "type": "array", - "items": { - "$ref": "#/components/schemas/BrandLiftSummaryV1" - } + "minimumImpressions": { + "format": "int64", + "description": "The minimum impressions.", + "type": "integer" }, - "studyId": { - "description": "The canonical Id of Study.", - "type": "string" + "budgetTimeSpan": { + "format": "int64", + "description": "The time span in days to calculate budget. Null represents total impressions for the campaigns.", + "type": "integer" }, - "surveyResponses": { - "minItems": 1, - "maxItems": 2000, - "description": "Detailed response rate for each response in Survey question aggregated by different segments.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyResponseResultV1" - } + "minimumBudget": { + "format": "double", + "description": "The minimum budget. Expressed in marketplace currency.", + "type": "number" + }, + "impressionTimeSpan": { + "format": "int64", + "description": "The time span in days to calculate impressions. Null represents total impressions for the campaigns.", + "type": "integer" } } }, @@ -10494,24 +13493,28 @@ } } }, - "AudienceResearchStudyResultV1M2": { - "description": "The result of Audience Research study.", + "MeasurementStudiesCancelStudyResponse": { + "description": "Cancel study response.", + "type": "object", "properties": { - "totalResponses": { - "description": "Total number of responses received in the Survey.", - "type": "number" + "code": { + "description": "An enumerated success or error code for machine use.", + "type": "string" }, "studyId": { - "description": "The canonical Id of Study.", + "description": "The study canonical identifier.", "type": "string" }, - "surveyResponses": { - "minItems": 1, - "maxItems": 2000, - "description": "Detailed response rate for each response in Survey question aggregated by different segments.", + "message": { + "description": "A human-readable message of the code.", + "type": "string" + }, + "errors": { + "minItems": 0, + "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/SurveyResponseResultV1" + "$ref": "#/components/schemas/MeasurementStudiesSubError" } } } @@ -10538,83 +13541,32 @@ } } }, - "PaginatedSurveyQuestionTemplatesV1M1": { - "type": "object", - "properties": { - "surveyQuestionTemplates": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyQuestionTemplateV1M1" - } - }, - "totalResults": { - "format": "int32", - "description": "The total number of templates.", - "type": "integer" - }, - "nextToken": { - "type": "string" - } - } - }, - "DSPBrandLiftStudyV1M1": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseStudyV1M1" - }, - { - "$ref": "#/components/schemas/DSPCampaignMeasurementMetadataV1M1" - }, - { - "$ref": "#/components/schemas/DSPBrandLiftMetadataV1M1" - } - ], - "description": "DSP BRAND_LIFT study object.", - "type": "object" - }, - "EligibilityStatusV1": { - "description": "Supported values are ELIGIBLE, INELIGIBLE and ELIGIBLE_WITH_WARNING. INELIGIBLE status indicates the study can not be created.", + "MeasurementStudiesSurveyQuestionSubCategory": { + "description": "The survey question sub-category. Only applicable to certain categories. Consider upgrading API version if enum `OTHER` is received.", + "readOnly": true, "type": "string", "enum": [ - "ELIGIBLE", - "INELIGIBLE", - "ELIGIBLE_WITH_WARNING" + "DEMOGRAPHIC", + "BEHAVIOR", + "PURCHASE_HISTORY", + "OTHER" ] }, - "DSPBrandLiftMetadataV1M1": { - "description": "The basic model for all DSP BRAND_LIFT objective studies.", + "MeasurementStudyStatusReason": { + "description": "Measurement study status reason.", "type": "object", "properties": { - "brandName": { - "description": "The study brand name.", - "type": "string" - }, - "peerNames": { - "minItems": 0, - "maxItems": 100, - "description": "A list of peer names for the study brand.", - "type": "array", - "items": { - "type": "string" - } - }, - "verb": { - "description": "The verb that will be used in the applicable survey questions to construct the question text.", - "type": "string" - }, - "benchmarkCategory": { - "$ref": "#/components/schemas/BenchmarkCategoryV1" + "measurementStudyStatusReasonType": { + "$ref": "#/components/schemas/MeasurementStudyStatusReasonType" }, - "productCategory": { - "description": "The study product category.", + "statusReasonDescription": { + "description": "Human readable description of status reason.", "type": "string" } } }, - "PaginatedVendorProductsV1": { - "description": "A list of measurement vendor products.", + "PaginatedMeasurementStudiesVendorProductPolicies": { + "description": "A list of measurement vendor products policies.", "type": "object", "properties": { "totalResults": { @@ -10622,19 +13574,27 @@ "description": "The total number of vendor products.", "type": "integer" }, - "vendorProducts": { + "nextToken": { + "type": "string" + }, + "policies": { "minItems": 0, "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/VendorProductV1" + "$ref": "#/components/schemas/MeasurementStudiesVendorProductPolicy" } - }, - "nextToken": { - "type": "string" } } }, + "MeasurementStudiesLocale": { + "description": "The measurement locale. Consider upgrading API version if enum `OTHER` is received.", + "type": "string", + "enum": [ + "EN_US", + "OTHER" + ] + }, "OmnichannelMetricsBrandV1M2": { "type": "object", "properties": { @@ -10663,6 +13623,18 @@ } } }, + "MeasurementOmnichannelMetricsStudy": { + "allOf": [ + { + "$ref": "#/components/schemas/MeasurementBaseStudy" + }, + { + "$ref": "#/components/schemas/MeasurementOmnichannelMetricsStudyMetadata" + } + ], + "description": "OMNICHANNEL_METRICS study object.", + "type": "object" + }, "StudyReviewRequestV1": { "description": "Review an study.", "type": "object", @@ -10709,6 +13681,25 @@ "AND" ] }, + "GetMeasurementStudiesReachAndFrequency": { + "description": "The request object for fetching reach and frequency studies.", + "type": "object", + "properties": { + "studyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Study canonical identifier to filter with.", + "type": "array", + "items": { + "type": "string" + } + }, + "advertiserId": { + "description": "The advertiser canonical identifier. Used for querying reach and frequency studies for a DSP advertiser Account.", + "type": "string" + } + } + }, "CurrencyCodeV1M2": { "description": "Currency Code.", "type": "string", @@ -10731,26 +13722,21 @@ "PLN" ] }, - "SurveyQuestionPlaceholderAllowedRangeV1": { - "description": "Allowed value range for placeholder.", + "GetMeasurementStudiesOmnichannelMetrics": { + "description": "The request object for fetching omnichannel metrics study.", "type": "object", "properties": { - "minimumValue": { - "format": "int32", - "description": "The minimum allowed value.", - "type": "integer" - }, - "parentValue": { - "description": "The field value that this range depends on. Will be empty if this range is the default range.", - "type": "string" - }, - "maximumValue": { - "format": "int32", - "description": "The maximum allowed value.", - "type": "integer" + "studyIds": { + "minItems": 1, + "maxItems": 50, + "description": "Study canonical identifier to filter with.", + "type": "array", + "items": { + "type": "string" + } }, - "parentField": { - "description": "The field name that this range depends on. Will be empty if this range is the default range.", + "advertiserId": { + "description": "The advertiser canonical identifier. Used for querying omnichannel studies for a DSP advertiser Account.", "type": "string" } } @@ -10770,23 +13756,20 @@ } } }, - "StudyReviewStatusV1": { - "description": "The study review status. APPROVED studies will start delivering once reach the startDate.", - "type": "string", - "enum": [ - "APPROVED", - "REJECTED", - "INFEASIBLE" - ] - }, - "AssetTypeV1M2": { - "description": "The type of the Asset.", - "readOnly": true, - "type": "string", - "enum": [ - "IMAGE", - "VIDEO" - ] + "GetMeasurementStudiesVendorProductPolicy": { + "description": "The request object for fetching vendor product policies of specific vendor products.", + "type": "object", + "properties": { + "vendorProductIds": { + "minItems": 1, + "maxItems": 50, + "description": "Vendor product canonical identifier to filter with.", + "type": "array", + "items": { + "type": "string" + } + } + } }, "FundingTypeV1M3": { "description": "The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon.", @@ -10839,23 +13822,6 @@ } } }, - "PaginatedSurveysV1M1": { - "description": "A list of study surveys.", - "type": "object", - "properties": { - "nextToken": { - "type": "string" - }, - "surveys": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/SurveyV1M1" - } - } - } - }, "AssetV1M2": { "description": "The Amazon Creative Asset Library asset identifier. Refer https://advertising.amazon.com/API/docs/en-us/creative-asset-library", "properties": { @@ -10872,21 +13838,6 @@ } } }, - "EligibilityFieldV1": { - "description": "Fields that will be checked as part of eligibility API call.", - "type": "string", - "enum": [ - "LOCALE", - "BUDGET", - "GOAL", - "START_TIME", - "END_TIME", - "FLIGHT_LENGTH", - "LEAD_TIME", - "IMPRESSIONS", - "ORDER" - ] - }, "FundingTypeV1M1": { "description": "The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon.", "readOnly": true, @@ -10896,6 +13847,90 @@ "THIRD_PARTY_PAYMENT" ] }, + "MeasurementStudiesSurveyQuestionPlaceholderCandidate": { + "description": "The placeholder candidate in Survey question.", + "type": "object", + "properties": { + "allowedValues": { + "minItems": 0, + "maxItems": 20, + "description": "Allowed values for placeholder. Will be empty if placeholder is free text field.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderAllowedValue" + } + }, + "maximumValueLength": { + "description": "The maximum allowed character length for each individual placeholder value.", + "type": "integer" + }, + "fieldName": { + "description": "The survey question placeholder field name.", + "type": "string" + }, + "allowedValueRanges": { + "minItems": 0, + "maxItems": 20, + "description": "Allowed value ranges for placeholder. Only applicable if the valueType is INTEGER.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderAllowedRange" + } + }, + "valueType": { + "$ref": "#/components/schemas/MeasurementStudiesPlaceholderValueType" + }, + "inferredFields": { + "minItems": 0, + "maxItems": 6, + "description": "Where the placeholder values will be inferred from.", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderInferredField" + } + }, + "defaultValues": { + "minItems": 0, + "maxItems": 10, + "description": "Default values that will be appended to the values list regardless.", + "type": "array", + "items": { + "type": "string" + } + }, + "minimumValueLength": { + "description": "The minimum allowed character length for each individual placeholder value.", + "type": "integer" + }, + "allowCustomValue": { + "description": "Whether custom value is allowed for the placeholder.", + "type": "boolean" + }, + "placeholderCandidateType": { + "$ref": "#/components/schemas/MeasurementStudiesSurveyQuestionPlaceholderCandidateType" + } + } + }, + "MeasurementReachAndFrequencyStudyResult": { + "description": "The response object for downloading study results.", + "type": "object", + "properties": { + "fileDownloadUrl": { + "description": "A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created.", + "type": "string" + }, + "fileType": { + "type": "string", + "enum": [ + "PDF", + "POWERPOINT", + "JPEG", + "PNG", + "OTHER" + ] + } + } + }, "FundingTypeV1M2": { "description": "The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon.", "readOnly": true, @@ -10922,18 +13957,6 @@ "SHOPPER_PANEL" ] }, - "DSPCreativeTestingCostEstimationResponseV1M2": { - "description": "The response object of DSP Creative Testing study cost estimation.", - "properties": { - "cost": { - "description": "The estimated cost for the Study.", - "type": "number" - }, - "currencyCode": { - "$ref": "#/components/schemas/CurrencyCodeV1M2" - } - } - }, "SurveyQuestionCategoryRequirementV1M1": { "description": "The requirement for specific survey question category.", "type": "object", @@ -10951,43 +13974,45 @@ } } }, - "DSPCreativeTestingEligibilityRequestV1M2": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseEligibilityRequestV1M2" - }, - { - "$ref": "#/components/schemas/DSPCreativeTestingEligibilityDataV1M2" - } - ], - "description": "The request object of DSP Creative Testing study eligibility check." - }, - "PlanningOrderMetadataV1M3": { - "description": "Metadata around a hypothetical order.", + "PaginatedMeasurementStudiesSurveyQuestionTemplates": { "type": "object", "properties": { - "goal": { - "$ref": "#/components/schemas/MeasurementGoalV1" - }, - "endDate": { - "format": "date-time", - "description": "The estimated end date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", - "type": "string" + "surveyQuestionTemplates": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/MeasurementStudiesSurveyShortQuestionTemplate" + } + ] + } }, - "impressions": { - "format": "int64", - "description": "The total estimated impressions of the order.", + "totalResults": { + "format": "int32", + "description": "The total number of templates.", "type": "integer" }, - "startDate": { - "format": "date-time", - "description": "The estimated start date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC.", + "nextToken": { + "type": "string" + } + } + }, + "PaginatedMeasurementCreativeTestingStudies": { + "description": "A list of creative testing studies.", + "type": "object", + "properties": { + "nextToken": { "type": "string" }, - "budget": { - "format": "double", - "description": "The total estimated budget of the order.", - "type": "number" + "measurements": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/MeasurementCreativeTestingStudy" + } } } }, @@ -11077,6 +14102,15 @@ "type": "string" } } + }, + "MeasurementAudienceResearchStudyEligibilityData": { + "description": "The audience research study eligibility data.", + "type": "object", + "properties": { + "audienceTargetingGroup": { + "$ref": "#/components/schemas/MeasurementStudiesAudienceTargetingGroup" + } + } } }, "requestBodies": {}, diff --git a/docs/schemas/dsp-reports.json b/docs/schemas/dsp-reports.json index d2bd7ac..1670ae4 100644 --- a/docs/schemas/dsp-reports.json +++ b/docs/schemas/dsp-reports.json @@ -200,6 +200,57 @@ } } }, + "ReportMetadataV2": { + "type": "object", + "properties": { + "reportId": { + "description": "The identifier of the report.", + "type": "string" + }, + "format": { + "description": "The data format of the report.", + "type": "string", + "enum": [ + "JSON", + "CSV" + ] + }, + "statusDetails": { + "description": " A human-readable description of the current status.", + "type": "string" + }, + "location": { + "description": "The URI address of the report.", + "type": "string" + }, + "expiration": { + "format": "int64", + "description": "The expiration time of the URI in the location property in milliseconds. The expiration time is the interval between the time the response was generated and the time the URI expires.", + "type": "integer" + }, + "type": { + "description": "The type of report.", + "type": "string", + "enum": [ + "CAMPAIGN", + "INVENTORY", + "AUDIENCE", + "PRODUCTS", + "TECHNOLOGY", + "GEOGRAPHY" + ] + }, + "status": { + "description": "The build status of the report.", + "type": "string", + "enum": [ + "IN_PROGRESS", + "SUCCESS", + "FAILURE" + ] + } + } + }, "CreateReportRequestBodyV2": { "type": "object", "required": [ @@ -239,7 +290,7 @@ } }, "metrics": { - "description": "Specify a comma-delimited string of metrics field names to include in the report. For example: \"impressions, clickThroughs, CTR, eCPC, totalCost, eCPM\". If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error.
`Common Fields`These fields will be added when reportType is `CAMPAIGN, INVENTORY, or AUDIENCE`. 
totalCost
supplyCost
amazonAudienceFee
advertiserTimezone
advertiserCountry
amazonPlatformFee
impressions
clickThroughs
CTR
eCPM
eCPC
dpv14d
dpvViews14d
dpvClicks14d
dpvr14d
eCPDPV14d
pRPV14d
pRPVViews14d
pRPVClicks14d
pRPVr14d
eCPPRPV14d
atl14d
atlViews14d
atlClicks14d
atlr14d
eCPAtl14d
atc14d
atcViews14d
atcClicks14d
atcr14d
eCPAtc14d
purchases14d
purchasesViews14d
purchasesClicks14d
purchaseRate14d
eCPP14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newToBrandPurchaseRate14d
newToBrandECPP14d
percentOfPurchasesNewToBrand14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
addToWatchlistCVR14d
addToWatchlistCPA14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
downloadedVideoPlayRate14d
eCPDVP14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
videoStreamsRate14d
eCPVS14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
playTrailerRate14d
eCPPT14d
rentals14d
rentalsViews14d
rentalsClicks14d
rentalRate14d
ecpr14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoDownloadRate14d
ecpvd14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
newSubscribeAndSaveRate14d
eCPnewSubscribeAndSave14d
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
totalPixelCVR14d
totalPixelCPA14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
marketingLandingPageCVR14d
marketingLandingPageCPA14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
subscriptionPageCVR14d
subscriptionPageCPA14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
signUpPageCVR14d
signUpPageCPA14d
application14d
applicationViews14d
applicationClicks14d
applicationCVR14d
applicationCPA14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
gameLoadCVR14d
gameLoadCPA14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
widgetLoadCVR14d
widgetLoadCPA14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyStartCVR14d
surveyStartCPA14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
surveyFinishCVR14d
surveyFinishCPA14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
bannerInteractionCVR14d
bannerInteractionCPA14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
widgetInteractionCVR14d
widgetInteractionCPA14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
gameInteractionCVR14d
gameInteractionCPA14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailLoadCVR14d
emailLoadCPA14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
emailInteractionCVR14d
emailInteractionCPA14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
submitButtonCVR14d
submitButtonCPA14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
purchaseButtonCVR14d
purchaseButtonCPA14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
clickOnRedirectCVR14d
clickOnRedirectCPA14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
signUpButtonCVR14d
signUpButtonCPA14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
subscriptionButtonCVR14d
subscriptionButtonCPA14d
successPage14d
successPageViews14d
successPageClicks14d
successPageCVR14d
successPageCPA14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
thankYouPageCVR14d
thankYouPageCPA14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationFormCVR14d
registrationFormCPA14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
registrationConfirmPageCVR14d
registrationConfirmPageCPA14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
storeLocatorPageCVR14d
storeLocatorPageCPA14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
mobileAppFirstStartCVR14d
mobileAppFirstStartsCPA14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement1CVR
brandStoreEngagement1CPA
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement2CVR
brandStoreEngagement2CPA
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement3CVR
brandStoreEngagement3CPA
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement4CVR
brandStoreEngagement4CPA
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement5CVR
brandStoreEngagement5CPA
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement6CVR
brandStoreEngagement6CPA
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
brandStoreEngagement7CVR
brandStoreEngagement7CPA
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
addedToShoppingCartCVR14d
addedToShoppingCartCPA14d
productPurchased
productPurchasedViews
productPurchasedClicks
productPurchasedCVR
productPurchasedCPA
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
homepageVisitCVR14d
homepageVisitCPA14d
videoStarted
videoStartedViews
videoStartedClicks
videoStartedCVR
videoStartedCPA
videoCompleted
videoCompletedViews
videoEndClicks
videoCompletedCVR
videoCompletedCPA
messageSent14d
messageSentViews14d
messageSentClicks14d
messageSentCVR14d
messageSentCPA14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupClickToPageCVR
mashupClickToPageCPA
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupBackupImageCVR
mashupBackupImageCPA
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToCartClickCVR14d
mashupAddToCartCPA14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupAddToWishlistCVR14d
mashupAddToWishlistCPA14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupSubscribeAndSaveCVR14d
mashupSubscribeAndSaveCPA14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupClipCouponClickCVR14d
mashupClipCouponClickCPA14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
mashupShopNowClickCVR14d
mashupShopNowClickCPA14d
referral14d
referralViews14d
referralClicks14d
referralCVR14d
referralCPA14d
accept14d
acceptViews14d
acceptClicks14d
acceptCVR14d
acceptCPA14d
decline14d
declineViews14d
declineClicks14d
declineCVR14d
declineCPA14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoCompletionRate
ecpvc
videoPause
videoResume
videoMute
videoUnmute
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
dropDownSelectionCVR14d
dropDownSelectionCPA14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate

`Campaign Fields`These fields will be added when reportType is Campaign.  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d

`Inventory Fields`These fields will be added when reportType is Inventory  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
placementName
placementSize
dealType

`Audience Fields`These fields will be added when reportType is Audience.  
lineitemtype
segmentClassCode
segmentSource
segmentType
segmentMarketplaceID
targetingMethod

`Product Fields`These fields can be specified when reportType is `PRODUCTS`.  
reportGranularity(Default)
amazonStandardId(Default)
parentASIN(Default)
marketplace(Default)
brandName(Default)
asinConversionType(Default)
featuredASIN(Default)
productName
productGroup
productCategory
productSubcategory
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
percentOfPurchasesNewToBrand14d
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalPercentOfPurchasesNewToBrand14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
unitsSold14d
sales14d
totalUnitsSold14d
totalSales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandHaloDetailPage14d
brandHaloDetailPageViews14d
brandHaloDetailPageClicks14d
brandHaloProductReviewPage14d
brandHaloProductReviewPageViews14d
brandHaloProductReviewPageClicks14d
brandHaloAddToList14d
brandHaloAddToListViews14d
brandHaloAddToListClicks14d
brandHaloAddToCart14d
brandHaloAddToCartViews14d
brandHaloAddToCartClicks14d
brandHaloPurchases14d
brandHaloPurchasesViews14d
brandHaloPurchasesClicks14d
brandHaloNewToBrandPurchases14d
brandHaloNewToBrandPurchasesViews14d
brandHaloNewToBrandPurchasesClicks14d
brandHaloPercentOfPurchasesNewToBrand14d
brandHaloNewSubscribeAndSave14d
brandHaloNewSubscribeAndSaveViews14d
brandHaloNewSubscribeAndSaveClicks14d
brandHaloTotalUnitsSold14d
brandHaloTotalSales14d
brandHaloTotalNewToBrandSales14d
brandHaloTotalNewToBrandUnitsSold14d

`Tech and Geo Fields`These fields can be specified when reportType is `TECHNOLOGY` or `Geography`.  
agencyFee
totalCost
impressions
viewableImpressions
clickThroughs
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
application14d
applicationViews14d
applicationClicks14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
successPage14d
successPageViews14d
successPageClicks14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
productPurchased
productPurchasedViews
productPurchasedClicks
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
videoStarted
videoStartedViews
videoStartedClicks
videoCompleted
videoCompletedViews
videoEndClicks
messageSent14d
messageSentViews14d
messageSentClicks14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
referral14d
referralViews14d
referralClicks14d
accept14d
acceptViews14d
acceptClicks14d
decline14d
declineViews14d
declineClicks14d
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
rentals14d
rentalsViews14d
rentalsClicks14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoPause
videoResume
videoMute
videoUnmute
unitsSold14d
sales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate
", + "description": "Specify a comma-delimited string of metrics field names to include in the report. For example: \"impressions, clickThroughs, CTR, eCPC, totalCost, eCPM\". If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error.
`Common Fields`These fields will be added when reportType is `CAMPAIGN, INVENTORY, or AUDIENCE`. 
totalCost
supplyCost
amazonAudienceFee
advertiserTimezone
advertiserCountry
amazonPlatformFee
amazonOmnichannelMetricsFee
impressions
clickThroughs
CTR
eCPM
eCPC
dpv14d
dpvViews14d
dpvClicks14d
dpvr14d
eCPDPV14d
pRPV14d
pRPVViews14d
pRPVClicks14d
pRPVr14d
eCPPRPV14d
atl14d
atlViews14d
atlClicks14d
atlr14d
eCPAtl14d
atc14d
atcViews14d
atcClicks14d
atcr14d
eCPAtc14d
purchases14d
purchasesViews14d
purchasesClicks14d
purchaseRate14d
eCPP14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newToBrandPurchaseRate14d
newToBrandECPP14d
percentOfPurchasesNewToBrand14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
addToWatchlistCVR14d
addToWatchlistCPA14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
downloadedVideoPlayRate14d
eCPDVP14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
videoStreamsRate14d
eCPVS14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
playTrailerRate14d
eCPPT14d
rentals14d
rentalsViews14d
rentalsClicks14d
rentalRate14d
ecpr14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoDownloadRate14d
ecpvd14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
newSubscribeAndSaveRate14d
eCPnewSubscribeAndSave14d
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
totalPixelCVR14d
totalPixelCPA14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
marketingLandingPageCVR14d
marketingLandingPageCPA14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
subscriptionPageCVR14d
subscriptionPageCPA14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
signUpPageCVR14d
signUpPageCPA14d
application14d
applicationViews14d
applicationClicks14d
applicationCVR14d
applicationCPA14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
gameLoadCVR14d
gameLoadCPA14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
widgetLoadCVR14d
widgetLoadCPA14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyStartCVR14d
surveyStartCPA14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
surveyFinishCVR14d
surveyFinishCPA14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
bannerInteractionCVR14d
bannerInteractionCPA14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
widgetInteractionCVR14d
widgetInteractionCPA14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
gameInteractionCVR14d
gameInteractionCPA14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailLoadCVR14d
emailLoadCPA14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
emailInteractionCVR14d
emailInteractionCPA14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
submitButtonCVR14d
submitButtonCPA14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
purchaseButtonCVR14d
purchaseButtonCPA14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
clickOnRedirectCVR14d
clickOnRedirectCPA14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
signUpButtonCVR14d
signUpButtonCPA14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
subscriptionButtonCVR14d
subscriptionButtonCPA14d
successPage14d
successPageViews14d
successPageClicks14d
successPageCVR14d
successPageCPA14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
thankYouPageCVR14d
thankYouPageCPA14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationFormCVR14d
registrationFormCPA14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
registrationConfirmPageCVR14d
registrationConfirmPageCPA14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
storeLocatorPageCVR14d
storeLocatorPageCPA14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
mobileAppFirstStartCVR14d
mobileAppFirstStartsCPA14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement1CVR
brandStoreEngagement1CPA
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement2CVR
brandStoreEngagement2CPA
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement3CVR
brandStoreEngagement3CPA
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement4CVR
brandStoreEngagement4CPA
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement5CVR
brandStoreEngagement5CPA
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement6CVR
brandStoreEngagement6CPA
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
brandStoreEngagement7CVR
brandStoreEngagement7CPA
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
addedToShoppingCartCVR14d
addedToShoppingCartCPA14d
productPurchased
productPurchasedViews
productPurchasedClicks
productPurchasedCVR
productPurchasedCPA
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
homepageVisitCVR14d
homepageVisitCPA14d
videoStarted
videoStartedViews
videoStartedClicks
videoStartedCVR
videoStartedCPA
videoCompleted
videoCompletedViews
videoEndClicks
videoCompletedCVR
videoCompletedCPA
messageSent14d
messageSentViews14d
messageSentClicks14d
messageSentCVR14d
messageSentCPA14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupClickToPageCVR
mashupClickToPageCPA
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupBackupImageCVR
mashupBackupImageCPA
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToCartClickCVR14d
mashupAddToCartCPA14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupAddToWishlistCVR14d
mashupAddToWishlistCPA14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupSubscribeAndSaveCVR14d
mashupSubscribeAndSaveCPA14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupClipCouponClickCVR14d
mashupClipCouponClickCPA14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
mashupShopNowClickCVR14d
mashupShopNowClickCPA14d
referral14d
referralViews14d
referralClicks14d
referralCVR14d
referralCPA14d
accept14d
acceptViews14d
acceptClicks14d
acceptCVR14d
acceptCPA14d
decline14d
declineViews14d
declineClicks14d
declineCVR14d
declineCPA14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoCompletionRate
ecpvc
videoPause
videoResume
videoMute
videoUnmute
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
dropDownSelectionCVR14d
dropDownSelectionCPA14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate

`Campaign Fields`These fields will be added when reportType is Campaign.  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d

`Inventory Fields`These fields will be added when reportType is Inventory  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
placementName
placementSize
dealType

`Audience Fields`These fields will be added when reportType is Audience.  
lineitemtype
segmentClassCode
segmentSource
segmentType
segmentMarketplaceID
targetingMethod

`Product Fields`These fields can be specified when reportType is `PRODUCTS`.  
reportGranularity(Default)
amazonStandardId(Default)
parentASIN(Default)
marketplace(Default)
brandName(Default)
asinConversionType(Default)
featuredASIN(Default)
productName
productGroup
productCategory
productSubcategory
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
percentOfPurchasesNewToBrand14d
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalPercentOfPurchasesNewToBrand14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
unitsSold14d
sales14d
totalUnitsSold14d
totalSales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandHaloDetailPage14d
brandHaloDetailPageViews14d
brandHaloDetailPageClicks14d
brandHaloProductReviewPage14d
brandHaloProductReviewPageViews14d
brandHaloProductReviewPageClicks14d
brandHaloAddToList14d
brandHaloAddToListViews14d
brandHaloAddToListClicks14d
brandHaloAddToCart14d
brandHaloAddToCartViews14d
brandHaloAddToCartClicks14d
brandHaloPurchases14d
brandHaloPurchasesViews14d
brandHaloPurchasesClicks14d
brandHaloNewToBrandPurchases14d
brandHaloNewToBrandPurchasesViews14d
brandHaloNewToBrandPurchasesClicks14d
brandHaloPercentOfPurchasesNewToBrand14d
brandHaloNewSubscribeAndSave14d
brandHaloNewSubscribeAndSaveViews14d
brandHaloNewSubscribeAndSaveClicks14d
brandHaloTotalUnitsSold14d
brandHaloTotalSales14d
brandHaloTotalNewToBrandSales14d
brandHaloTotalNewToBrandUnitsSold14d

`Tech and Geo Fields`These fields can be specified when reportType is `TECHNOLOGY` or `Geography`.  
agencyFee
totalCost
impressions
viewableImpressions
clickThroughs
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
application14d
applicationViews14d
applicationClicks14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
successPage14d
successPageViews14d
successPageClicks14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
productPurchased
productPurchasedViews
productPurchasedClicks
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
videoStarted
videoStartedViews
videoStartedClicks
videoCompleted
videoCompletedViews
videoEndClicks
messageSent14d
messageSentViews14d
messageSentClicks14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
referral14d
referralViews14d
referralClicks14d
accept14d
acceptViews14d
acceptClicks14d
decline14d
declineViews14d
declineClicks14d
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
rentals14d
rentalsViews14d
rentalsClicks14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoPause
videoResume
videoMute
videoUnmute
unitsSold14d
sales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate
", "type": "string" }, "type": { @@ -295,57 +346,6 @@ } } }, - "ReportMetadataV2": { - "type": "object", - "properties": { - "reportId": { - "description": "The identifier of the report.", - "type": "string" - }, - "format": { - "description": "The data format of the report.", - "type": "string", - "enum": [ - "JSON", - "CSV" - ] - }, - "statusDetails": { - "description": " A human-readable description of the current status.", - "type": "string" - }, - "location": { - "description": "The URI address of the report.", - "type": "string" - }, - "expiration": { - "format": "int64", - "description": "The expiration time of the URI in the location property in milliseconds. The expiration time is the interval between the time the response was generated and the time the URI expires.", - "type": "integer" - }, - "type": { - "description": "The type of report.", - "type": "string", - "enum": [ - "CAMPAIGN", - "INVENTORY", - "AUDIENCE", - "PRODUCTS", - "TECHNOLOGY", - "GEOGRAPHY" - ] - }, - "status": { - "description": "The build status of the report.", - "type": "string", - "enum": [ - "IN_PROGRESS", - "SUCCESS", - "FAILURE" - ] - } - } - }, "CreateReportRequestBodyV3": { "type": "object", "required": [ @@ -356,7 +356,7 @@ "advertiserIds": { "minItems": 0, "maxItems": 100, - "description": "List of advertisers specified by identifier to include in the report. This should not be present if accountId is advertiser", + "description": "List of advertisers specified by identifier to include in the report. This should not be present if accountId is advertiser. To learn more about when to use advertiserIds, see [Reporting by account type](https://advertising.amazon.com/API/docs/en-us/reporting/dsp/reporting-by-account-type).", "type": "array", "items": { "type": "string" @@ -388,7 +388,7 @@ "metrics": { "minItems": 0, "maxItems": 1000, - "description": "Specify a list of metrics field names to include in the report. For example: [\"impressions\", \"clickThroughs\", \"CTR\", \"eCPC\", \"totalCost\", \"eCPM\"]. If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error.
`Common Fields`These fields will be added when reportType is `CAMPAIGN, INVENTORY, or AUDIENCE`. 
totalCost
supplyCost
amazonAudienceFee
advertiserTimezone
advertiserCountry
amazonPlatformFee
impressions
clickThroughs
CTR
eCPM
eCPC
dpv14d
dpvViews14d
dpvClicks14d
dpvr14d
eCPDPV14d
pRPV14d
pRPVViews14d
pRPVClicks14d
pRPVr14d
eCPPRPV14d
atl14d
atlViews14d
atlClicks14d
atlr14d
eCPAtl14d
atc14d
atcViews14d
atcClicks14d
atcr14d
eCPAtc14d
purchases14d
purchasesViews14d
purchasesClicks14d
purchaseRate14d
eCPP14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newToBrandPurchaseRate14d
newToBrandECPP14d
percentOfPurchasesNewToBrand14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
addToWatchlistCVR14d
addToWatchlistCPA14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
downloadedVideoPlayRate14d
eCPDVP14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
videoStreamsRate14d
eCPVS14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
playTrailerRate14d
eCPPT14d
rentals14d
rentalsViews14d
rentalsClicks14d
rentalRate14d
ecpr14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoDownloadRate14d
ecpvd14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
newSubscribeAndSaveRate14d
eCPnewSubscribeAndSave14d
offAmazonConversions14d (legacy name totalPixel14d)
offAmazonViews14d (legacy name totalPixelViews14d)
offAmazonClicks14d (legacy name totalPixelClicks14d)
offAmazonCVR14d (legacy name totalPixelCVR14d)
offAmazonCPA14d (legacy name totalPixelCPA14d)
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
marketingLandingPageCVR14d
marketingLandingPageCPA14d
subscribe14d (legacy name subscriptionPage14d)
subscribeViews14d (legacy name subscriptionPageViews14d)
subscribeClicks14d (legacy name subscriptionPageClicks14d)
subscribeCVR14d (legacy name subscriptionPageCVR14d)
subscribeCPA14d (legacy name subscriptionPageCPA14d)
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
signUpPageCVR14d
signUpPageCPA14d
application14d
applicationViews14d
applicationClicks14d
applicationCVR14d
applicationCPA14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
gameLoadCVR14d
gameLoadCPA14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
widgetLoadCVR14d
widgetLoadCPA14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyStartCVR14d
surveyStartCPA14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
surveyFinishCVR14d
surveyFinishCPA14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
bannerInteractionCVR14d
bannerInteractionCPA14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
widgetInteractionCVR14d
widgetInteractionCPA14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
gameInteractionCVR14d
gameInteractionCPA14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailLoadCVR14d
emailLoadCPA14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
emailInteractionCVR14d
emailInteractionCPA14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
submitButtonCVR14d
submitButtonCPA14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
purchaseButtonCVR14d
purchaseButtonCPA14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
clickOnRedirectCVR14d
clickOnRedirectCPA14d
signUp14d (legacy name signUpButton14d)
signUpViews14d (legacy name signUpButtonViews14d)
signUpClicks14d (legacy name signUpButtonClicks14d)
signUpCVR14d (legacy name signUpButtonCVR14d)
signUpCPA14d (legacy name signUpButtonCPA14d)
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
subscriptionButtonCVR14d
subscriptionButtonCPA14d
successPage14d
successPageViews14d
successPageClicks14d
successPageCVR14d
successPageCPA14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
thankYouPageCVR14d
thankYouPageCPA14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationFormCVR14d
registrationFormCPA14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
registrationConfirmPageCVR14d
registrationConfirmPageCPA14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
storeLocatorPageCVR14d
storeLocatorPageCPA14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
mobileAppFirstStartCVR14d
mobileAppFirstStartsCPA14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement1CVR
brandStoreEngagement1CPA
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement2CVR
brandStoreEngagement2CPA
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement3CVR
brandStoreEngagement3CPA
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement4CVR
brandStoreEngagement4CPA
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement5CVR
brandStoreEngagement5CPA
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement6CVR
brandStoreEngagement6CPA
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
brandStoreEngagement7CVR
brandStoreEngagement7CPA
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
addedToShoppingCartCVR14d
addedToShoppingCartCPA14d
offAmazonPurchases14d (legacy name productPurchased)
offAmazonPurchasesViews14d (legacy name productPurchasedViews)
offAmazonPurchasesClicks14d (legacy name productPurchasedClicks)
offAmazonPurchaseRate14d (legacy name productPurchasedCVR)
offAmazonECPP14d (legacy name productPurchasedCPA)
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
homepageVisitCVR14d
homepageVisitCPA14d
videoStarted
videoStartedViews
videoStartedClicks
videoStartedCVR
videoStartedCPA
videoCompleted
videoCompletedViews
videoEndClicks
videoCompletedCVR
videoCompletedCPA
messageSent14d
messageSentViews14d
messageSentClicks14d
messageSentCVR14d
messageSentCPA14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupClickToPageCVR
mashupClickToPageCPA
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupBackupImageCVR
mashupBackupImageCPA
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToCartClickCVR14d
mashupAddToCartCPA14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupAddToWishlistCVR14d
mashupAddToWishlistCPA14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupSubscribeAndSaveCVR14d
mashupSubscribeAndSaveCPA14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupClipCouponClickCVR14d
mashupClipCouponClickCPA14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
mashupShopNowClickCVR14d
mashupShopNowClickCPA14d
referral14d
referralViews14d
referralClicks14d
referralCVR14d
referralCPA14d
accept14d
acceptViews14d
acceptClicks14d
acceptCVR14d
acceptCPA14d
decline14d
declineViews14d
declineClicks14d
declineCVR14d
declineCPA14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoCompletionRate
ecpvc
videoPause
videoResume
videoMute
videoUnmute
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
dropDownSelectionCVR14d
dropDownSelectionCPA14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate

`Campaign Fields`These fields will be added when reportType is Campaign.  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
offAmazonProductSales14d
offAmazonUnitsSold14d
offAmazonROAS14d
offAmazonERPM14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedPurchaseRate
combinedECPP
combinedProductSales
combinedUnitsSold
combinedROAS
combinedERPM

`Inventory Fields`These fields will be added when reportType is Inventory  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
placementName
placementSize
dealType
offAmazonProductSales14d
offAmazonUnitsSold14d
offAmazonROAS14d
offAmazonERPM14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedPurchaseRate
combinedECPP
combinedProductSales
combinedUnitsSold
combinedROAS
combinedERPM

`Audience Fields`These fields will be added when reportType is Audience.  
lineitemtype
segmentClassCode
segmentSource
segmentType
segmentMarketplaceID
targetingMethod
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedPurchaseRate
combinedECPP

`Product Fields`These fields can be specified when reportType is `PRODUCTS`.  
reportGranularity(Default)
amazonStandardId(Default)
parentASIN(Default)
marketplace(Default)
brandName(Default)
asinConversionType(Default)
featuredASIN(Default)
productName
productGroup
productCategory
productSubcategory
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
percentOfPurchasesNewToBrand14d
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalPercentOfPurchasesNewToBrand14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
unitsSold14d
sales14d
totalUnitsSold14d
totalSales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandHaloDetailPage14d
brandHaloDetailPageViews14d
brandHaloDetailPageClicks14d
brandHaloProductReviewPage14d
brandHaloProductReviewPageViews14d
brandHaloProductReviewPageClicks14d
brandHaloAddToList14d
brandHaloAddToListViews14d
brandHaloAddToListClicks14d
brandHaloAddToCart14d
brandHaloAddToCartViews14d
brandHaloAddToCartClicks14d
brandHaloPurchases14d
brandHaloPurchasesViews14d
brandHaloPurchasesClicks14d
brandHaloNewToBrandPurchases14d
brandHaloNewToBrandPurchasesViews14d
brandHaloNewToBrandPurchasesClicks14d
brandHaloPercentOfPurchasesNewToBrand14d
brandHaloNewSubscribeAndSave14d
brandHaloNewSubscribeAndSaveViews14d
brandHaloNewSubscribeAndSaveClicks14d
brandHaloTotalUnitsSold14d
brandHaloTotalSales14d
brandHaloTotalNewToBrandSales14d
brandHaloTotalNewToBrandUnitsSold14d

`Tech and Geo Fields`These fields can be specified when reportType is `TECHNOLOGY` or `Geography`.  
agencyFee
totalCost
impressions
viewableImpressions
clickThroughs
offAmazonConversions14d (legacy name totalPixel14d)
offAmazonViews14d (legacy name totalPixelViews14d)
offAmazonClicks14d (legacy name totalPixelClicks14d)
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
subscribe14d (legacy name subscriptionPage14d)
subscribeViews14d (legacy name subscriptionPageViews14d)
subscribeClicks14d (legacy name subscriptionPageClicks14d)
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
application14d
applicationViews14d
applicationClicks14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
signUp14d (legacy name signUpButton14d)
signUpViews14d (legacy name signUpButtonViews14d)
signUpClicks14d (legacy name signUpButtonClicks14d)
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
successPage14d
successPageViews14d
successPageClicks14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
offAmazonPurchases14d (legacy name productPurchased)
offAmazonPurchasesViews14d (legacy name productPurchasedViews)
offAmazonPurchasesClicks14d (legacy name productPurchasedClicks)
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
videoStarted
videoStartedViews
videoStartedClicks
videoCompleted
videoCompletedViews
videoEndClicks
messageSent14d
messageSentViews14d
messageSentClicks14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
referral14d
referralViews14d
referralClicks14d
accept14d
acceptViews14d
acceptClicks14d
decline14d
declineViews14d
declineClicks14d
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
rentals14d
rentalsViews14d
rentalsClicks14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoPause
videoResume
videoMute
videoUnmute
unitsSold14d
sales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate
offAmazonProductSales14d
offAmazonUnitsSold14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalSales14d
totalUnitsSold14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedProductSales
combinedUnitsSold

`Conversion Source Fields`These fields can be specified when reportType is `Conversion Source Fields`.  
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalSales14d
totalUnitsSold14d
offAmazonPurchases14d
offAmazonPurchasesViews14d
offAmazonPurchasesClicks14d
offAmazonProductSales14d
offAmazonUnitsSold14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedProductSales
combinedUnitsSold
", + "description": "Specify a list of metrics field names to include in the report. For example: [\"impressions\", \"clickThroughs\", \"CTR\", \"eCPC\", \"totalCost\", \"eCPM\"]. If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error. To view the metrics available by report type, see [DSP report types](https://advertising.amazon.com/API/docs/en-us/reporting/dsp/report-types)", "type": "array", "items": { "type": "string" @@ -416,7 +416,7 @@ "dimensions": { "minItems": 0, "maxItems": 20, - "description": "List of dimensions to include in the report. Specify one or many comma-delimited strings of dimensions. For example: [\"ORDER\", \"LINE_ITEM\", \"CREATIVE\"]. Adding a dimension in this array determines the aggregation level of the report data and also adds the fields for that dimension in the report. If the list is null or empty, the aggregation of the report data is at `ORDER` level. The allowed values can be used together in this array as an allowed value in which case the report aggregation will be at the lowest aggregation level and the report will contain the fields for all the dimensions included in the report.
`Default Fields`
date (for timeUnit `DAILY`)
intervalStart (for timeUnit `SUMMARY`)
intervalEnd (for timeUnit `SUMMARY`)
segment (Only present for AUDIENCE Report)
entityId
advertiserName
advertiserId

The below fields will be added based on selected dimensions  
`ORDER`
orderName
orderId
orderStartDate
orderEndDate
orderBudget
orderExternalId
orderCurrency

`LINE_ITEM`
lineItemName
lineItemId
lineItemStartDate
lineItemEndDate
lineItemBudget
lineItemExternalId

`CREATIVE`
creativeName
creativeID
creativeType
creativeSize
creativeAdId - Note, this field is not returned for the CONVERSION_SOURCE report type.

`SITE`
siteName

`SUPPLY`
supplySourceName

`DEAL`
deal
dealID

`COUNTRY`
country

`STATE_COUNTY_REGION`
region

`CITY`
city

`DMA`
designatedMarketAreaCode
designatedMarketAreaName

`POSTAL_CODE`
postalCode

`OPERATING_SYSTEM`
operatingSystem

`BROWSER_TYPE`
browser

`BROWSER_VERSION`
browserVersion

`DEVICE_TYPE`
device

`ENVIRONMENT_TYPE`
environmentType

`CONVERSION_SOURCE`
conversionSourceName
conversionSourceOwner
conversionSourceAttributionType
conversionSourceScaled
maxExpectedLatencyHours
\n\n| Type | Dimension |\n|------|-----------|\n| CAMPAIGN | ORDER, LINE_ITEM, CREATIVE |\n| INVENTORY | ORDER, LINE_ITEM, SITE, SUPPLY, DEAL |\n| AUDIENCE | ORDER, LINE_ITEM |\n| PRODUCTS | ORDER, LINE_ITEM |\n| TECHNOLOGY | ORDER, LINE_ITEM, OPERATING_SYSTEM, BROWSER_TYPE, BROWSER_VERSION, DEVICE_TYPE, ENVIRONMENT_TYPE |\n| GEOGRAPHY | ORDER, LINE_ITEM, COUNTRY, STATE_COUNTY_REGION, CITY, DMA, POSTAL_CODE | \n CONVERSION_SOURCE | ORDER, LINE_ITEM, CREATIVE", + "description": "List of dimensions to include in the report. Specify one or many comma-delimited strings of dimensions. For example: [\"ORDER\", \"LINE_ITEM\", \"CREATIVE\"]. Adding a dimension in this array determines the aggregation level of the report data and also adds the fields for that dimension in the report. If the list is null or empty, the aggregation of the report data is at `ORDER` level. The allowed values can be used together in this array as an allowed value in which case the report aggregation will be at the lowest aggregation level and the report will contain the fields for all the dimensions included in the report. To see a list of metrics available by dimension, see [Dimensions](https://advertising.amazon.com/API/docs/en-us/reporting/dsp/dimensions).", "type": "array", "items": { "type": "string", diff --git a/docs/schemas/dsp.json b/docs/schemas/dsp.json index 35f93d9..71b6c14 100644 --- a/docs/schemas/dsp.json +++ b/docs/schemas/dsp.json @@ -3,7 +3,7 @@ "info": { "version": "3.1", "title": "Amazon Ads API - Amazon DSP", - "description": "Use the Amazon Ads API for DSP for campaign, creative, line item and association operations. For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic.

.", + "description": "Use the Amazon Ads API for DSP for campaign, creative, line item and association operations. For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic.", "contact": { "name": "Amazon Ads API Support", "url": "https://amzn-clicks.atlassian.net/servicedesk/customer/portals" @@ -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", @@ -3606,6 +3652,11 @@ "200": { "description": "Successful operation.", "content": { + "application/vnd.dsplineitems.v3.2+json": { + "schema": { + "$ref": "#/components/schemas/LineItemV3_2" + } + }, "application/vnd.dsplineitems.v3.1+json": { "schema": { "$ref": "#/components/schemas/LineItemV3_1" @@ -4611,6 +4662,16 @@ "requestBody": { "description": "An array of lineitem objects. For each object, specify required fields and their values. Maximum length of the array is 1.", "content": { + "application/vnd.dsplineitems.v3.2+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItemV3_2" + }, + "minItems": 1, + "maxItems": 1 + } + }, "application/vnd.dsplineitems.v3.1+json": { "schema": { "type": "array", @@ -5163,6 +5224,16 @@ "requestBody": { "description": "An array of line item objects. For each object, specify required fields and their values. Maximum length of the array is 1.", "content": { + "application/vnd.dsplineitems.v3.2+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItemV3_2" + }, + "minItems": 1, + "maxItems": 1 + } + }, "application/vnd.dsplineitems.v3.1+json": { "schema": { "type": "array", @@ -7302,7 +7373,7 @@ } } }, - "/dsp/creatives/thirdParty": { + "/dsp/creatives/thirdparty": { "get": { "tags": [ "Third Party Creative" @@ -7501,7 +7572,7 @@ } } }, - "/dsp/creatives/thirdParty/preview": { + "/dsp/creatives/thirdparty/preview": { "post": { "tags": [ "Third Party Creative" @@ -9782,6 +9853,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 +9886,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 +9901,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 +9916,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 +9931,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 +9946,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 +10448,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 +10551,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 +10703,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", @@ -10876,6 +11143,18 @@ } } }, + "LineItemV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/LineItemV3_1" + } + ], + "properties": { + "targeting": { + "$ref": "#/components/schemas/LineItemTargetingV3_2" + } + } + }, "LineItemResponse": { "description": "Response for the line item create/update operations. Success contains only lineItemId and failure contains only errorDetails corresponding to that requested index in that batch (array of items).", "type": "object", @@ -10980,62 +11259,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": [ @@ -11167,6 +11510,23 @@ } } }, + "LineItemTargetingV3_2": { + "type": "object", + "properties": { + "standardDisplayTargeting": { + "$ref": "#/components/schemas/StandardDisplayTargetingV3_2" + }, + "aapMobileAppTargeting": { + "$ref": "#/components/schemas/AapMobileAppTargetingV3_2" + }, + "amazonMobileDisplayTargeting": { + "$ref": "#/components/schemas/AmazonMobileDisplayTargetingV3_1" + }, + "videoTargeting": { + "$ref": "#/components/schemas/VideoTargetingV3_2" + } + } + }, "AmazonMobileDisplayTargeting": { "type": "object", "properties": { @@ -11507,6 +11867,18 @@ } } }, + "VideoTargetingV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/VideoTargetingV3_1" + } + ], + "properties": { + "thirdPartyPreBidTargeting": { + "$ref": "#/components/schemas/VideoThirdPartyPreBidTargetingV3_2" + } + } + }, "StandardDisplayTargeting": { "type": "object", "properties": { @@ -11629,6 +12001,18 @@ } } }, + "StandardDisplayTargetingV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/StandardDisplayTargetingV3_1" + } + ], + "properties": { + "thirdPartyPreBidTargeting": { + "$ref": "#/components/schemas/StandardDisplayThirdPartyPreBidTargetingV3_2" + } + } + }, "AapMobileAppTargeting": { "type": "object", "properties": { @@ -11745,6 +12129,18 @@ } } }, + "AapMobileAppTargetingV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/AapMobileAppTargetingV3_1" + } + ], + "properties": { + "thirdPartyPreBidTargeting": { + "$ref": "#/components/schemas/MobileAppThirdPartyPreBidTargetingV3_2" + } + } + }, "UserLocationTargeting": { "type": "string", "description": "The geographical location type of Amazon customers targeted. For example, `US`, `EVERYWHERE`, `NON-US`.", @@ -12023,6 +12419,18 @@ } } }, + "StandardDisplayThirdPartyPreBidTargetingV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/StandardDisplayThirdPartyPreBidTargetingV3_1" + } + ], + "properties": { + "doubleVerify": { + "$ref": "#/components/schemas/StandardDisplayDoubleVerifyV3_2" + } + } + }, "MobileAppThirdPartyPreBidTargeting": { "type": "object", "description": "Amazon DSP automatically filters fraudulent and invalid traffic as well as unsafe content using a combination of proprietary technology and solutions from comScore and Sizmek. This service is available by default and at no extra charge for Amazon DSP customers. You may choose to augment the default filters with pre-bid targeting products offered by third parties. These services are currently offered at no charge.", @@ -12053,6 +12461,18 @@ } } }, + "MobileAppThirdPartyPreBidTargetingV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/MobileAppThirdPartyPreBidTargetingV3_1" + } + ], + "properties": { + "doubleVerify": { + "$ref": "#/components/schemas/MobileAppDoubleVerifyV3_2" + } + } + }, "VideoThirdPartyPreBidTargeting": { "type": "object", "description": "Amazon DSP automatically filters fraudulent and invalid traffic as well as unsafe content using a combination of proprietary technology and solutions from comScore and Sizmek. This service is available by default and at no extra charge for Amazon DSP customers. You may choose to augment the default filters with pre-bid targeting products offered by third parties. These services are currently offered at no charge.", @@ -12083,6 +12503,18 @@ } } }, + "VideoThirdPartyPreBidTargetingV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/VideoThirdPartyPreBidTargetingV3_1" + } + ], + "properties": { + "doubleVerify": { + "$ref": "#/components/schemas/VideoDoubleVerifyV3_2" + } + } + }, "Pixalate": { "type": "object", "description": "Pixalate is a third party provider for digital ad verification. Pixalate offers technologies that drive high-quality advertising media.", @@ -12223,6 +12655,42 @@ } } }, + "StandardDisplayDoubleVerifyV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/StandardDisplayDoubleVerify" + } + ], + "properties": { + "brandSafety": { + "$ref": "#/components/schemas/StandardDisplayDoubleVerifyBrandSafetyV3_2" + } + } + }, + "MobileAppDoubleVerifyV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/MobileAppDoubleVerify" + } + ], + "properties": { + "brandSafety": { + "$ref": "#/components/schemas/MobileAppDoubleVerifyBrandSafetyV3_2" + } + } + }, + "VideoDoubleVerifyV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/VideoDoubleVerify" + } + ], + "properties": { + "brandSafety": { + "$ref": "#/components/schemas/VideoDoubleVerifyBrandSafetyV3_2" + } + } + }, "DoubleVerifyAuthenticBrandSafety": { "type": "object", "properties": { @@ -12381,6 +12849,29 @@ ] } }, + "DvBrandSafetyContentCategoriesV3_2": { + "type": "array", + "description": "A list of content categories to exclude from targeting. EXTREME_GRAPHIC is available since version `application/vnd.dsplineitems.v3.2+json`.", + "items": { + "type": "string", + "enum": [ + "AD_SERVER", + "CELEBRITY_GOSSIP", + "CULTS_SURVIVALISM", + "GAMBLING", + "INCENTIVIZED_MALWARE_CLUTTER", + "INFLAMMATORY_POLITICS_NEWS", + "NEGATIVE_NEWS_FINANCIAL", + "NEGATIVE_NEWS_PHARMACEUTICAL", + "NON_STANDARD_CONTENT_NON_ENGLISH", + "NON_STANDARD_CONTENT_PARKING_PAGE", + "OCCULT", + "PIRACY_COPYRIGHT_INFRINGEMENT", + "UNMODERATED_UGC_FORUMS_IMAGES_VIDEO", + "EXTREME_GRAPHIC" + ] + } + }, "DvBrandSafetyContentCategoriesWithRisk": { "type": "object", "description": "A map from content categories to risk level to exclude from targeting. Available keys are: [`ADULT_CONTENT`, `ALCOHOL`, `CRIME`, `DISASTER_AVIATION`, `DISASTER_MAN_MADE`, `DISASTER_NATURAL`, `DISASTER_TERRORIST_EVENTS`, `DISASTER_VEHICLE`, `HATE_SPEECH`, `PROFANITY`, `SUBSTANCE_ABUSE`, `TOBACCO_ECIGARETTES`, `VIOLENCE_EXTREME_GRAPHIC`]", @@ -12391,6 +12882,16 @@ "ADULT_CONTENT": "HIGH_MEDIUM" } }, + "DvBrandSafetyContentCategoriesWithRiskV3_2": { + "type": "object", + "description": "A map from content categories to risk level to exclude from targeting. Available keys are: [`ADULT_CONTENT`, `ALCOHOL`, `CRIME`, `DEATH_INJURIES`, `DISASTER_AVIATION`, `DISASTER_MAN_MADE`, `DISASTER_NATURAL`, `DISASTER_TERRORIST_EVENTS`, `DISASTER_VEHICLE`, `HATE_SPEECH`, `PROFANITY`, `SUBSTANCE_ABUSE`, `TOBACCO_ECIGARETTES`, `VIOLENCE_EXTREME_GRAPHIC`]. `DEATH_INJURIES` is available since version `application/vnd.dsplineitems.v3.2+json`.", + "additionalProperties": { + "$ref": "#/components/schemas/BrandSuitabilityRiskLevel" + }, + "example": { + "ADULT_CONTENT": "HIGH_MEDIUM" + } + }, "DvBrandSafetyExcludeApps": { "type": "boolean", "description": "Set to `true` to exclude unofficial apps or apps with insufficient user ratings (<100 lifetime)." @@ -12459,6 +12960,51 @@ } } }, + "StandardDisplayDoubleVerifyBrandSafetyV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/StandardDisplayDoubleVerifyBrandSafety" + } + ], + "properties": { + "contentCategories": { + "$ref": "#/components/schemas/DvBrandSafetyContentCategoriesV3_2" + }, + "contentCategoriesWithRisk": { + "$ref": "#/components/schemas/DvBrandSafetyContentCategoriesWithRiskV3_2" + } + } + }, + "MobileAppDoubleVerifyBrandSafetyV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/MobileAppDoubleVerifyBrandSafety" + } + ], + "properties": { + "contentCategories": { + "$ref": "#/components/schemas/DvBrandSafetyContentCategoriesV3_2" + }, + "contentCategoriesWithRisk": { + "$ref": "#/components/schemas/DvBrandSafetyContentCategoriesWithRiskV3_2" + } + } + }, + "VideoDoubleVerifyBrandSafetyV3_2": { + "allOf": [ + { + "$ref": "#/components/schemas/VideoDoubleVerifyBrandSafety" + } + ], + "properties": { + "contentCategories": { + "$ref": "#/components/schemas/DvBrandSafetyContentCategoriesV3_2" + }, + "contentCategoriesWithRisk": { + "$ref": "#/components/schemas/DvBrandSafetyContentCategoriesWithRiskV3_2" + } + } + }, "DoubleVerifyFraudInvalidTraffic": { "type": "object", "properties": { @@ -13069,7 +13615,7 @@ "properties": { "deliveryProfile": { "type": "string", - "description": "The type of line item delivery profile. FRONT_LOADED: Initially front-load 20% of the budget. Remaining delivery is spread evenly across the remaining duration of the line item. Note that catchup boosts do not apply to this delivery profile. EVENLY: Distributes the delivery evenly across the duration of the line items. Catchup boosts are enabled for this delivery profile.", + "description": "The type of line item delivery profile. FRONT_LOADED: Front loaded can deliver up to 25% more than the daily Even pace targets. EVENLY: Even pacing spends your budget consistently across the length of the campaign. We recommend turning catch up boost off to ensure consistent delivery.", "enum": [ "FRONT_LOADED", "EVENLY" @@ -13077,7 +13623,7 @@ }, "catchUpBoost": { "type": "string", - "description": "The catch up boost value associated with the line item. Represents the percentage of additional delivery that can be targeted when the line item is under-pacing. A catchup boost only applies to the EVENLY deliver profile. CatchUpBoost_2X: 200. CatchUpBoost_3X: 300. CatchUpBoost_4X: 400.", + "description": "Turning on catch up boost will lead to inconsistent delivery. If you want to avoid delivery spikes, we recommend turning catch up boost off.", "enum": [ "CATCH_UP_BOOST_2X", "CATCH_UP_BOOST_3X", @@ -13222,7 +13768,7 @@ }, "BudgetCap": { "type": "object", - "description": "The per day or per month spending limit.", + "description": "Adding a budget cap can result in under-delivery.", "properties": { "recurrenceTimePeriod": { "type": "string", @@ -14523,10 +15069,7 @@ "type": "string", "description": "Marketplace where this creative is applicable.", "enum": [ - "US", - "CA", - "BR", - "MX" + "US" ] }, "DspAssetV1": { @@ -15340,6 +15883,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 +15914,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 +15959,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": { @@ -15522,7 +16115,7 @@ }, "domainListMergedFile": { "type": "string", - "description": "The URL address of the domain file after merging all domains into single file, including inheritence from advertiser, domain lists, domain files, domains entered, if any." + "description": "The URL address of the domain file after merging all domains into single file, including inheritance from advertiser, domain lists, domain files, domains entered, if any." } } }, diff --git a/docs/schemas/sponsored-brands-extra.json b/docs/schemas/sponsored-brands-extra.json index af9ac17..b855482 100644 --- a/docs/schemas/sponsored-brands-extra.json +++ b/docs/schemas/sponsored-brands-extra.json @@ -561,12 +561,12 @@ }, { "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "required": true }, { @@ -576,7 +576,8 @@ }, "in": "header", "name": "Amazon-Advertising-API-Scope", - "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API." + "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", + "required": true } ], "tags": [ @@ -584,27 +585,27 @@ ] } }, - "/sb/beta/ads/brandVideo": { + "/sb/v4/campaigns/delete": { "post": { + "summary": "Deletes Sponsored Brands campaigns.", "requestBody": { "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsBrandVideoAdsRequestContent" + "$ref": "#/components/schemas/DeleteSponsoredBrandsCampaignsRequestContent" } } - }, - "required": true + } }, - "description": "Creates Sponsored Brands brand video ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateSponsoredBrandsBrandVideoAds", + "description": "Deletes Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "DeleteSponsoredBrandsCampaigns", "responses": { "207": { - "description": "CreateSponsoredBrandsBrandVideoAds 207 response.", + "description": "DeleteSponsoredBrandsCampaigns 207 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsBrandVideoAdsResponseContent" + "$ref": "#/components/schemas/DeleteSponsoredBrandsCampaignsResponseContent" } } } @@ -612,7 +613,7 @@ "400": { "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -622,7 +623,7 @@ "401": { "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -632,7 +633,7 @@ "403": { "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } @@ -651,7 +652,7 @@ }, "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -661,7 +662,7 @@ "500": { "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -692,31 +693,152 @@ } ], "tags": [ - "Ads" + "Campaigns" ] } }, - "/sb/beta/ads/video": { + "/sb/campaigns/insights": { "post": { "requestBody": { "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbinsights.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsVideoAdsRequestContent" + "$ref": "#/components/schemas/SBInsightsCampaignInsightsRequestContent" } } }, "required": true }, - "description": "Creates Sponsored Brands video ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateSponsoredBrandsVideoAds", + "description": "Creates campaign level insights. Insights will be provided for passed in campaign parameters.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "SBInsightsCampaignInsights", + "responses": { + "200": { + "description": "SBInsightsCampaignInsights 200 response", + "content": { + "application/vnd.sbinsights.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBInsightsCampaignInsightsResponseContent" + } + } + } + }, + "400": { + "description": "SBInsightsBadRequestException 400 response", + "content": { + "application/vnd.sbinsights.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBInsightsBadRequestExceptionResponseContent" + } + } + } + }, + "401": { + "description": "SBInsightsUnauthorizedException 401 response", + "content": { + "application/vnd.sbinsights.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBInsightsUnauthorizedExceptionResponseContent" + } + } + } + }, + "422": { + "description": "SBInsightsUnprocessableEntityException 422 response", + "content": { + "application/vnd.sbinsights.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBInsightsUnprocessableEntityExceptionResponseContent" + } + } + } + }, + "429": { + "headers": { + "Retry-After": { + "schema": { + "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": "SBInsightsThrottlingException 429 response", + "content": { + "application/vnd.sbinsights.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBInsightsThrottlingExceptionResponseContent" + } + } + } + }, + "500": { + "description": "SBInsightsInternalServerException 500 response", + "content": { + "application/vnd.sbinsights.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBInsightsInternalServerExceptionResponseContent" + } + } + } + } + }, + "parameters": [ + { + "schema": { + "description": "Operations that return paginated results include a pagination token in this field. 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" + }, + "in": "query", + "name": "nextToken", + "description": "Operations that return paginated results include a pagination token in this field. 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": { + "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 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" + }, + "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.", + "required": true + } + ], + "tags": [ + "Insights" + ] + } + }, + "/sb/v4/ads/delete": { + "post": { + "summary": "Deletes Sponsored Brands ads.", + "requestBody": { + "content": { + "application/vnd.sbadresource.v4+json": { + "schema": { + "$ref": "#/components/schemas/DeleteSponsoredBrandsAdsRequestContent" + } + } + } + }, + "description": "Deletes Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "DeleteSponsoredBrandsAds", "responses": { "207": { - "description": "CreateSponsoredBrandsVideoAds 207 response.", + "description": "DeleteSponsoredBrandsAds 207 response.", "content": { "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsVideoAdsResponseContent" + "$ref": "#/components/schemas/DeleteSponsoredBrandsAdsResponseContent" } } } @@ -808,26 +930,28 @@ ] } }, - "/sb/beta/adGroups/delete": { + "/sb/v4/adGroups": { "post": { + "summary": "Creates Sponsored Brands ad groups.", "requestBody": { "content": { "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/DeleteSponsoredBrandsAdGroupsRequestContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsAdGroupsRequestContent" } } - } + }, + "required": true }, - "description": "Deletes Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "DeleteSponsoredBrandsAdGroups", + "description": "Creates Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateSponsoredBrandsAdGroups", "responses": { "207": { - "description": "DeleteSponsoredBrandsAdGroups 207 response.", + "description": "CreateSponsoredBrandsAdGroups 207 response.", "content": { "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/DeleteSponsoredBrandsAdGroupsResponseContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsAdGroupsResponseContent" } } } @@ -917,29 +1041,28 @@ "tags": [ "AdGroups" ] - } - }, - "/sb/beta/adGroups": { - "post": { + }, + "put": { + "summary": "Updates Sponsored Brands ad groups.", "requestBody": { "content": { "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsAdGroupsRequestContent" + "$ref": "#/components/schemas/UpdateSponsoredBrandsAdGroupsRequestContent" } } }, "required": true }, - "description": "Creates Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateSponsoredBrandsAdGroups", + "description": "Updates Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "UpdateSponsoredBrandsAdGroups", "responses": { "207": { - "description": "CreateSponsoredBrandsAdGroups 207 response.", + "description": "UpdateSponsoredBrandsAdGroups 207 response.", "content": { "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsAdGroupsResponseContent" + "$ref": "#/components/schemas/UpdateSponsoredBrandsAdGroupsResponseContent" } } } @@ -1029,27 +1152,30 @@ "tags": [ "AdGroups" ] - }, + } + }, + "/sb/v4/ads": { "put": { + "summary": "Updates Sponsored Brands ads.", "requestBody": { "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/UpdateSponsoredBrandsAdGroupsRequestContent" + "$ref": "#/components/schemas/UpdateSponsoredBrandsAdsRequestContent" } } }, "required": true }, - "description": "Updates Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "UpdateSponsoredBrandsAdGroups", + "description": "Updates Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "UpdateSponsoredBrandsAds", "responses": { "207": { - "description": "UpdateSponsoredBrandsAdGroups 207 response.", + "description": "UpdateSponsoredBrandsAds 207 response.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/UpdateSponsoredBrandsAdGroupsResponseContent" + "$ref": "#/components/schemas/UpdateSponsoredBrandsAdsResponseContent" } } } @@ -1057,7 +1183,7 @@ "400": { "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -1067,7 +1193,7 @@ "401": { "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -1077,7 +1203,7 @@ "403": { "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } @@ -1096,7 +1222,7 @@ }, "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -1106,7 +1232,7 @@ "500": { "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -1137,7 +1263,7 @@ } ], "tags": [ - "AdGroups" + "Ads" ] } }, @@ -1238,12 +1364,12 @@ }, { "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "required": true }, { @@ -1253,7 +1379,8 @@ }, "in": "header", "name": "Amazon-Advertising-API-Scope", - "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API." + "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", + "required": true } ], "tags": [ @@ -1261,68 +1388,58 @@ ] } }, - "/sb/campaigns/budgetRecommendations": { + "/sb/v4/campaigns": { "post": { - "summary": "Gets daily budget recommendations.", + "summary": "Creates Sponsored Brands campaigns.", "requestBody": { "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/GetBudgetRecommendationsRequestContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsCampaignsRequestContent" } } }, "required": true }, - "description": "Provides daily budget recomemndations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "GetBudgetRecommendations", + "description": "Creates Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateSponsoredBrandsCampaigns", "responses": { "207": { - "description": "GetBudgetRecommendations 207 response", - "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { - "schema": { - "$ref": "#/components/schemas/GetBudgetRecommendationsResponseContent" - } - } - } - }, - "401": { - "description": "UnauthorizedException 401 response", + "description": "CreateSponsoredBrandsCampaigns 207 response.", "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsCampaignsResponseContent" } } } }, - "403": { - "description": "AccessDeniedException 403 response", + "400": { + "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" + "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } } } }, - "415": { - "description": "UnsupportedMediaTypeException 415 response", + "401": { + "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent" + "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } } } }, - "422": { - "description": "InvalidArgumentException 422 response", + "403": { + "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" + "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } @@ -1337,9 +1454,9 @@ "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." } }, - "description": "ThrottlingException 429 response", + "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -1347,9 +1464,9 @@ } }, "500": { - "description": "InternalServerException 500 response", + "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbbudgetrecommendation.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -1360,59 +1477,58 @@ "parameters": [ { "schema": { - "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.", "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.", "required": true }, { "schema": { - "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.", + "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.", "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.", + "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": [ - "Budget Recommendations" + "Campaigns" ] - } - }, - "/sb/ads/creatives/storeSpotlight": { - "post": { + }, + "put": { + "summary": "Updates Sponsored Brands campaigns.", "requestBody": { "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateStoreSpotlightCreativeRequestContent" + "$ref": "#/components/schemas/UpdateSponsoredBrandsCampaignsRequestContent" } } }, "required": true }, - "description": "This API creates a new version of creative for given Sponsored Brands ad by supplying store spotlight creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateStoreSpotlightCreative", + "description": "Updates Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "UpdateSponsoredBrandsCampaigns", "responses": { - "200": { - "description": "CreateStoreSpotlightCreative 200 response", + "207": { + "description": "UpdateSponsoredBrandsCampaigns 207 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateStoreSpotlightCreativeResponseContent" + "$ref": "#/components/schemas/UpdateSponsoredBrandsCampaignsResponseContent" } } } }, "400": { - "description": "InvalidArgumentException 400 response", + "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -1420,9 +1536,9 @@ } }, "401": { - "description": "UnauthorizedException 401 response", + "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -1430,29 +1546,28 @@ } }, "403": { - "description": "AccessDeniedException 403 response", + "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } }, - "409": { - "description": "ConflictStateException 409 response", - "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "429": { + "headers": { + "Retry-After": { "schema": { - "$ref": "#/components/schemas/ConflictStateExceptionResponseContent" - } + "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", + "type": "number" + }, + "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." } - } - }, - "429": { - "description": "ThrottlingException 429 response", + }, + "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -1460,9 +1575,9 @@ } }, "500": { - "description": "InternalServerException 500 response", + "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -1473,58 +1588,52 @@ "parameters": [ { "schema": { - "$ref": "#/components/schemas/AcceptHeader" - }, - "in": "header", - "name": "Accept", - "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type." - }, - { - "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis 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.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis 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.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis 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.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-Scope", - "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis 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 } ], "tags": [ - "Ad Creatives" + "Campaigns" ] } }, - "/sb/beta/campaigns": { + "/sb/v4/ads/productCollection": { "post": { + "summary": "Creates Sponsored Brands product collection ads.", "requestBody": { "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsCampaignsRequestContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsProductCollectionAdsRequestContent" } } }, "required": true }, - "description": "Creates Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateSponsoredBrandsCampaigns", + "description": "Creates Sponsored Brands product collection ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateSponsoredBrandsProductCollectionAds", "responses": { "207": { - "description": "CreateSponsoredBrandsCampaigns 207 response.", + "description": "CreateSponsoredBrandsProductCollectionAds 207 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsCampaignsResponseContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsProductCollectionAdsResponseContent" } } } @@ -1532,7 +1641,7 @@ "400": { "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -1542,7 +1651,7 @@ "401": { "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -1552,7 +1661,7 @@ "403": { "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } @@ -1571,7 +1680,7 @@ }, "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -1581,7 +1690,7 @@ "500": { "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -1612,41 +1721,72 @@ } ], "tags": [ - "Campaigns" + "Ads" ] } }, - "/sb/targets/categories": { - "get": { - "description": "Returns all targetable categories by default in a list. List of categories can be used to build and traverse category tree.\nSet query parameter `includeOnlyRootCategories=true` to return only the root categories, or set `parentCategoryRefinementId` to return children of a specific parent category.\nEach category node has the fields - category name, category refinement id, parent category refinement id, isTargetable flag, and ASIN count range. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "SBTargetingGetTargetableCategories", + "/sb/campaigns/budgetRecommendations": { + "post": { + "summary": "Gets daily budget recommendations.", + "requestBody": { + "content": { + "application/vnd.sbbudgetrecommendation.v4+json": { + "schema": { + "$ref": "#/components/schemas/GetBudgetRecommendationsRequestContent" + } + } + }, + "required": true + }, + "description": "Provides daily budget recommendations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "GetBudgetRecommendations", "responses": { - "200": { - "description": "SBTargetingGetTargetableCategories 200 response", + "207": { + "description": "GetBudgetRecommendations 207 response", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbbudgetrecommendation.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingGetTargetableCategoriesResponseContent" + "$ref": "#/components/schemas/GetBudgetRecommendationsResponseContent" } } } }, - "400": { - "description": "SBTargetingBadRequestException 400 response", + "401": { + "description": "UnauthorizedException 401 response", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbbudgetrecommendation.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent" + "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } } } }, - "401": { - "description": "SBTargetingUnauthorizedException 401 response", + "403": { + "description": "AccessDeniedException 403 response", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbbudgetrecommendation.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent" + "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" + } + } + } + }, + "415": { + "description": "UnsupportedMediaTypeException 415 response", + "content": { + "application/vnd.sbbudgetrecommendation.v4+json": { + "schema": { + "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent" + } + } + } + }, + "422": { + "description": "InvalidArgumentException 422 response", + "content": { + "application/vnd.sbbudgetrecommendation.v4+json": { + "schema": { + "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } } } @@ -1656,76 +1796,32 @@ "Retry-After": { "schema": { "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", - "type": "integer" + "type": "number" }, "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." } }, - "description": "SBTargetingThrottlingException 429 response", + "description": "ThrottlingException 429 response", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbbudgetrecommendation.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent" + "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } } } }, "500": { - "description": "SBTargetingInternalServerException 500 response", + "description": "InternalServerException 500 response", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbbudgetrecommendation.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent" + "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } } } } }, "parameters": [ - { - "schema": { - "$ref": "#/components/schemas/SBTargetingLocale" - }, - "in": "query", - "name": "locale", - "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace." - }, - { - "schema": { - "$ref": "#/components/schemas/SBTargetingSupplySource" - }, - "in": "query", - "name": "supplySource", - "description": "The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV.", - "required": true - }, - { - "schema": { - "description": "Indicates whether to only retun root categories or not.", - "type": "boolean" - }, - "in": "query", - "name": "includeOnlyRootCategories", - "description": "Indicates whether to only retun root categories or not." - }, - { - "schema": { - "description": "Returns child categories of category.", - "type": "string" - }, - "in": "query", - "name": "parentCategoryRefinementId", - "description": "Returns child categories of category." - }, - { - "schema": { - "description": "Operations that return paginated results include a pagination token in this field. 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" - }, - "in": "query", - "name": "nextToken", - "description": "Operations that return paginated results include a pagination token in this field. 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": { "description": "The identifier of a client associated with a `Login with Amazon` account.", @@ -1738,152 +1834,152 @@ }, { "schema": { - "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 profiles 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 profiles associated with the access token passed in the HTTP Authorization header.", "required": true } ], "tags": [ - "Product Targeting" + "Budget Recommendations" ] } }, - "/sb/budgetRules/{budgetRuleId}": { - "get": { - "summary": "Gets a budget rule specified by identifier.", - "operationId": "GetBudgetRuleByRuleIdForSBCampaigns", + "/sb/ads/creatives/storeSpotlight": { + "post": { + "requestBody": { + "content": { + "application/vnd.sbAdCreativeResource.v4+json": { + "schema": { + "$ref": "#/components/schemas/CreateStoreSpotlightCreativeRequestContent" + } + } + }, + "required": true + }, + "description": "This API creates a new version of creative for given Sponsored Brands ad by supplying store spotlight creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateStoreSpotlightCreative", "responses": { "200": { - "description": "Successful operation.", + "description": "CreateStoreSpotlightCreative 200 response", "content": { - "application/json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/GetSBBudgetRuleResponse" + "$ref": "#/components/schemas/CreateStoreSpotlightCreativeResponseContent" } } } }, "400": { - "description": "Bad Request.", + "description": "InvalidArgumentException 400 response", "content": { - "application/json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } } } }, "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": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } } } }, "403": { - "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "description": "AccessDeniedException 403 response", "content": { - "application/json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } }, - "422": { - "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "409": { + "description": "ConflictStateException 409 response", "content": { - "application/json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/ConflictStateExceptionResponseContent" } } } }, "429": { - "description": "Too Many Requests. The request was rate-limited. Retry later.", + "description": "ThrottlingException 429 response", "content": { - "application/json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } } } }, "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": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } } } } }, - "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", "parameters": [ { "schema": { - "type": "string" + "$ref": "#/components/schemas/AcceptHeader" }, "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 + "name": "Accept", + "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type." }, { "schema": { + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "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.", + "name": "Amazon-Advertising-API-ClientId", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis 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.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", "type": "string" }, - "in": "path", - "name": "budgetRuleId", - "description": "The budget rule identifier.", + "in": "header", + "name": "Amazon-Advertising-API-Scope", + "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", "required": true } ], "tags": [ - "BudgetRules" + "Ad Creatives" ] } }, - "/sb/targets/products/count": { - "post": { - "requestBody": { - "content": { - "application/vnd.sbtargeting.v4+json": { - "schema": { - "$ref": "#/components/schemas/SBTargetingGetTargetableASINCountsRequestContent" - } - } - }, - "required": true - }, - "description": "Get number of targetable asins based on refinements provided by the user.\n\nUse `/sb/targets/categories` or `/sb/recommendations/targets/category` to retrieve the category ID. Use `/sb/targets/categories/{categoryRefinementId}/refinements` to retrieve refinements data for a category.\n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "SBTargetingGetTargetableASINCounts", + "/sb/targets/categories": { + "get": { + "description": "Returns all targetable categories by default in a list. List of categories can be used to build and traverse category tree.\nSet query parameter `includeOnlyRootCategories=true` to return only the root categories, or set `parentCategoryRefinementId` to return children of a specific parent category.\nEach category node has the fields - category name, category refinement id, parent category refinement id, isTargetable flag, and ASIN count range. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "SBTargetingGetTargetableCategories", "responses": { "200": { - "description": "SBTargetingGetTargetableASINCounts 200 response", + "description": "SBTargetingGetTargetableCategories 200 response", "content": { "application/vnd.sbtargeting.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingGetTargetableASINCountsResponseContent" + "$ref": "#/components/schemas/SBTargetingGetTargetableCategoriesResponseContent" } } } @@ -1908,16 +2004,6 @@ } } }, - "422": { - "description": "SBTargetingUnprocessableEntityException 422 response", - "content": { - "application/vnd.sbtargeting.v4+json": { - "schema": { - "$ref": "#/components/schemas/SBTargetingUnprocessableEntityExceptionResponseContent" - } - } - } - }, "429": { "headers": { "Retry-After": { @@ -1949,6 +2035,50 @@ } }, "parameters": [ + { + "schema": { + "$ref": "#/components/schemas/SBTargetingLocale" + }, + "in": "query", + "name": "locale", + "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace." + }, + { + "schema": { + "$ref": "#/components/schemas/SBTargetingSupplySource" + }, + "in": "query", + "name": "supplySource", + "description": "The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV.", + "required": true + }, + { + "schema": { + "description": "Indicates whether to only retun root categories or not.", + "type": "boolean" + }, + "in": "query", + "name": "includeOnlyRootCategories", + "description": "Indicates whether to only retun root categories or not." + }, + { + "schema": { + "description": "Returns child categories of category.", + "type": "string" + }, + "in": "query", + "name": "parentCategoryRefinementId", + "description": "Returns child categories of category." + }, + { + "schema": { + "description": "Operations that return paginated results include a pagination token in this field. 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" + }, + "in": "query", + "name": "nextToken", + "description": "Operations that return paginated results include a pagination token in this field. 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": { "description": "The identifier of a client associated with a `Login with Amazon` account.", @@ -1971,41 +2101,61 @@ } ], "tags": [ - "Product Targeting" + "Product targeting categories" ] } }, - "/sb/targets/categories/{categoryRefinementId}/refinements": { - "get": { - "description": "Returns refinements according to category input. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "SBTargetingGetRefinementsForCategory", + "/sb/v4/ads/list": { + "post": { + "summary": "Lists Sponsored Brands ads.", + "requestBody": { + "content": { + "application/vnd.sbadresource.v4+json": { + "schema": { + "$ref": "#/components/schemas/ListSponsoredBrandsAdsRequestContent" + } + } + } + }, + "description": "Lists Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "ListSponsoredBrandsAds", "responses": { "200": { - "description": "SBTargetingGetRefinementsForCategory 200 response", + "description": "ListSponsoredBrandsAds 200 response.", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingGetRefinementsForCategoryResponseContent" + "$ref": "#/components/schemas/ListSponsoredBrandsAdsResponseContent" } } } }, "400": { - "description": "SBTargetingBadRequestException 400 response", + "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent" + "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } } } }, "401": { - "description": "SBTargetingUnauthorizedException 401 response", + "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent" + "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" + } + } + } + }, + "403": { + "description": "AccessDeniedException 403 response.", + "content": { + "application/vnd.sbadresource.v4+json": { + "schema": { + "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } @@ -2015,26 +2165,26 @@ "Retry-After": { "schema": { "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", - "type": "integer" + "type": "number" }, "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." } }, - "description": "SBTargetingThrottlingException 429 response", + "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent" + "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } } } }, "500": { - "description": "SBTargetingInternalServerException 500 response", + "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbtargeting.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent" + "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } } } @@ -2043,39 +2193,12 @@ "parameters": [ { "schema": { - "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.", - "type": "string" - }, - "in": "path", - "name": "categoryRefinementId", - "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.", - "required": true - }, - { - "schema": { - "$ref": "#/components/schemas/SBTargetingLocale" - }, - "in": "query", - "name": "locale", - "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace." - }, - { - "schema": { - "description": "Operations that return paginated results include a pagination token in this field. 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" - }, - "in": "query", - "name": "nextToken", - "description": "Operations that return paginated results include a pagination token in this field. 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": { - "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.", "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.", "required": true }, { @@ -2090,115 +2213,142 @@ } ], "tags": [ - "Product Targeting" + "Ads" ] } }, - "/sb/campaign/shopperSegments/forecast": { - "post": { - "requestBody": { - "content": { - "application/vnd.SBForecastingAPILambda.SponsoredBrandsCampaignShopperSegmentForecastResource.v1+json": { - "schema": { - "$ref": "#/components/schemas/GetCampaignShopperSegmentForecastRequestContent" - } - } - } - }, - "description": "Gets shopper segment bidding campaign performance forecasts.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_view\"]", - "operationId": "GetCampaignShopperSegmentForecast", + "/sb/budgetRules/{budgetRuleId}": { + "get": { + "summary": "Gets a budget rule specified by identifier.", + "operationId": "GetBudgetRuleByRuleIdForSBCampaigns", "responses": { "200": { - "description": "GetCampaignShopperSegmentForecast 200 response", + "description": "Successful operation.", "content": { - "application/vnd.SBForecastingAPILambda.SponsoredBrandsCampaignShopperSegmentForecastResource.v1+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/GetCampaignShopperSegmentForecastResponseContent" + "$ref": "#/components/schemas/GetSBBudgetRuleResponse" } } } }, "400": { - "description": "ValidationException 400 response", + "description": "Bad Request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValidationExceptionResponseContent" + "$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/UnauthorizedExceptionResponseContent" + "$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/AccessDeniedExceptionResponseContent" + "$ref": "#/components/schemas/BudgetRuleError" } } } }, - "429": { - "headers": { - "Retry-After": { + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "content": { + "application/json": { "schema": { - "type": "number" + "$ref": "#/components/schemas/BudgetRuleError" } } - }, - "description": "ThrottlingException 429 response", + } + }, + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" + "$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/InternalServerExceptionResponseContent" + "$ref": "#/components/schemas/BudgetRuleError" } } } } - } + }, + "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "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": "path", + "name": "budgetRuleId", + "description": "The budget rule identifier.", + "required": true + } + ], + "tags": [ + "BudgetRules" + ] } }, - "/sb/beta/ads": { - "put": { + "/sb/v4/campaigns/list": { + "post": { + "summary": "Lists Sponsored Brands campaigns.", "requestBody": { "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/UpdateSponsoredBrandsAdsRequestContent" + "$ref": "#/components/schemas/ListSponsoredBrandsCampaignsRequestContent" } } - }, - "required": true + } }, - "description": "Updates Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "UpdateSponsoredBrandsAds", + "description": "Lists Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "ListSponsoredBrandsCampaigns", "responses": { - "207": { - "description": "UpdateSponsoredBrandsAds 207 response.", + "200": { + "description": "ListSponsoredBrandsCampaigns 200 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { - "$ref": "#/components/schemas/UpdateSponsoredBrandsAdsResponseContent" + "$ref": "#/components/schemas/ListSponsoredBrandsCampaignsResponseContent" } } } @@ -2206,7 +2356,7 @@ "400": { "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -2216,7 +2366,7 @@ "401": { "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -2226,7 +2376,7 @@ "403": { "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } @@ -2245,7 +2395,7 @@ }, "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -2255,7 +2405,7 @@ "500": { "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbcampaignresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -2286,81 +2436,90 @@ } ], "tags": [ - "Ads" + "Campaigns" ] } }, - "/sb/budgetRules/{budgetRuleId}/campaigns": { - "get": { - "summary": "Gets all the campaigns associated with a budget rule", - "operationId": "GetCampaignsAssociatedWithSBBudgetRule", + "/sb/v4/adGroups/list": { + "post": { + "summary": "Lists Sponsored Brands ad groups.", + "requestBody": { + "content": { + "application/vnd.sbadgroupresource.v4+json": { + "schema": { + "$ref": "#/components/schemas/ListSponsoredBrandsAdGroupsRequestContent" + } + } + } + }, + "description": "Lists Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "ListSponsoredBrandsAdGroups", "responses": { "200": { - "description": "Successful operation.", + "description": "ListSponsoredBrandsAdGroups 200 response.", "content": { - "application/json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBGetAssociatedCampaignsResponse" + "$ref": "#/components/schemas/ListSponsoredBrandsAdGroupsResponseContent" } } } }, "400": { - "description": "Bad Request.", + "description": "InvalidArgumentException 400 response.", "content": { - "application/json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } } } }, "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": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } } } }, "403": { - "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "description": "AccessDeniedException 403 response.", "content": { - "application/json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } }, - "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/BudgetRuleError" - } + "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", + "type": "number" + }, + "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": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } } } }, "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": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetRuleError" + "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } } } @@ -2369,115 +2528,110 @@ "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 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" }, "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 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": [ - "BudgetRules" + "AdGroups" ] } }, - "/sb/campaigns/budgetRules/recommendations": { + "/sb/targets/products/count": { "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.sbbudgetrulesrecommendation.v3+json": { + "application/vnd.sbtargeting.v4+json": { "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SBBudgetRulesRecommendationEventRequest" - } - ], - "discriminator": { - "mapping": { - "EVENTS_FOR_EXISTING_CAMPAIGN": "#/components/schemas/SBBudgetRulesRecommendationEventRequest" - }, - "propertyName": "recommendationType" - } + "$ref": "#/components/schemas/SBTargetingGetTargetableASINCountsRequestContent" } } - } + }, + "required": true }, - "operationId": "SBGetBudgetRulesRecommendation", - "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\"]", + "description": "Get number of targetable asins based on refinements provided by the user.\n\nUse `/sb/targets/categories` or `/sb/recommendations/targets/category` to retrieve the category ID. Use `/sb/targets/categories/{categoryRefinementId}/refinements` to retrieve refinements data for a category.\n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "SBTargetingGetTargetableASINCounts", "responses": { "200": { - "description": "Successful Operation.", + "description": "SBTargetingGetTargetableASINCounts 200 response", "content": { - "application/vnd.sbbudgetrulesrecommendation.v3+json": { + "application/vnd.sbtargeting.v4+json": { "schema": { - "$ref": "#/components/schemas/SBBudgetRulesRecommendationEventResponse" + "$ref": "#/components/schemas/SBTargetingGetTargetableASINCountsResponseContent" } } } }, "400": { - "description": "Bad Request.", + "description": "SBTargetingBadRequestException 400 response", "content": { - "application/vnd.sbbudgetrulesrecommendation.v3+json": { + "application/vnd.sbtargeting.v4+json": { "schema": { - "$ref": "#/components/schemas/SBBudgetRulesRecommendationError" + "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent" + } + } + } + }, + "401": { + "description": "SBTargetingUnauthorizedException 401 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent" + } + } + } + }, + "422": { + "description": "SBTargetingUnprocessableEntityException 422 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingUnprocessableEntityExceptionResponseContent" } } } }, "429": { - "description": "Too Many Requests. Request was rate-limited. Retry later.", + "headers": { + "Retry-After": { + "schema": { + "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": "SBTargetingThrottlingException 429 response", "content": { - "application/vnd.sbbudgetrulesrecommendation.v3+json": { + "application/vnd.sbtargeting.v4+json": { "schema": { - "$ref": "#/components/schemas/SBBudgetRulesRecommendationError" + "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent" } } } }, "500": { - "description": "Internal Server Error. Something went wrong on the server.", + "description": "SBTargetingInternalServerException 500 response", "content": { - "application/vnd.sbbudgetrulesrecommendation.v3+json": { + "application/vnd.sbtargeting.v4+json": { "schema": { - "$ref": "#/components/schemas/SBBudgetRulesRecommendationError" + "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent" } } } @@ -2486,57 +2640,60 @@ "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.", "required": true }, { "schema": { + "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.", "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.", + "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": [ - "BudgetRulesRecommendation" + "Product targeting categories" ] } }, - "/sb/ads/creatives/productCollection": { + "/sb/v4/ads/video": { "post": { + "summary": "Creates Sponsored Brands video ads.", "requestBody": { "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateProductCollectionCreativeRequestContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsVideoAdsRequestContent" } } }, "required": true }, - "description": "This API creates a new version of creative for given Sponsored Brands ad by supplying product collection creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateProductCollectionCreative", + "description": "Creates Sponsored Brands video ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateSponsoredBrandsVideoAds", "responses": { - "200": { - "description": "CreateProductCollectionCreative 200 response", + "207": { + "description": "CreateSponsoredBrandsVideoAds 207 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateProductCollectionCreativeResponseContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsVideoAdsResponseContent" } } } }, "400": { - "description": "InvalidArgumentException 400 response", + "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -2544,9 +2701,9 @@ } }, "401": { - "description": "UnauthorizedException 401 response", + "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -2554,154 +2711,40 @@ } }, "403": { - "description": "AccessDeniedException 403 response", + "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } }, - "409": { - "description": "ConflictStateException 409 response", - "content": { - "application/vnd.sbAdCreativeResource.v4+json": { - "schema": { - "$ref": "#/components/schemas/ConflictStateExceptionResponseContent" - } - } - } - }, "429": { - "description": "ThrottlingException 429 response", - "content": { - "application/vnd.sbAdCreativeResource.v4+json": { - "schema": { - "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" - } - } - } - }, - "500": { - "description": "InternalServerException 500 response", - "content": { - "application/vnd.sbAdCreativeResource.v4+json": { + "headers": { + "Retry-After": { "schema": { - "$ref": "#/components/schemas/InternalServerExceptionResponseContent" - } - } - } - } - }, - "parameters": [ - { - "schema": { - "$ref": "#/components/schemas/AcceptHeader" - }, - "in": "header", - "name": "Accept", - "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type." - }, - { - "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", - "type": "string" - }, - "in": "header", - "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis 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.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", - "type": "string" - }, - "in": "header", - "name": "Amazon-Advertising-API-Scope", - "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API." - } - ], - "tags": [ - "Ad Creatives" - ] - } - }, - "/sb/recommendations/keyword": { - "post": { - "summary": "Gets keyword recommendations", - "requestBody": { - "description": "**Must contain exactly only one of** \n \n 1.) An array of ASINs for which keyword recommendations are generated. \n \n 2.) The URL of a Stores page. Vendors may also specify the URL of a custom landing page. The products on the landing page are used to generate keyword recommendations. \n \n Optional parameters include the max number of suggestions and locale for keyword translations. Supported locales include: Simplified Chinese (locale: “zh_CN”) for US, UK and CA. English (locale: “en_GB”) for DE, FR, IT and ES. If locale is invalid or unsupported, no translations will be returned.", - "content": { - "application/vnd.sbkeywordrecommendation.v3+json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SBKeywordRecommendationRequestAsin" - }, - { - "$ref": "#/components/schemas/SBKeywordRecommendationRequestUrl" - } - ] - }, - "examples": { - "URL Request": { - "value": { - "creativeType": "VIDEO", - "maxNumSuggestions": "100", - "locale": "zh_CN", - "url": "www.amazon.com/sample_landing_page" - } + "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", + "type": "number" }, - "ASIN Request": { - "value": { - "asins": [ - "asin1", - "asin2", - "asin3" - ], - "creativeType": "PRODUCT_COLLECTION", - "maxNumSuggestions": "100", - "locale": "zh_CN" - } - } - } - } - } - }, - "operationId": "getKeywordRecommendations", - "description": "Gets an array of keyword recommendation objects for a set of ASINs included either on a landing page or a Stores page. Vendors may also specify a custom landing page.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "responses": { - "200": { - "$ref": "#/components/responses/SBKeywordRecommendationResponse" - }, - "400": { - "description": "Bad Request.", - "content": { - "application/vnd.sbkeywordrecommendation.v3+json": { - "schema": { - "$ref": "#/components/schemas/SBKeywordRecommendationError" - } + "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." } - } - }, - "429": { - "description": "Too Many Requests - Request was rate-limited. Retry later", + }, + "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbkeywordrecommendation.v3+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBKeywordRecommendationError" + "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } } } }, "500": { - "description": "Internal Server SB Keyword Recommendations Error - Something went wrong on the server. Retry later and report an SB Keyword Recommendations Error if unresolved.", + "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbkeywordrecommendation.v3+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/SBKeywordRecommendationError" + "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } } } @@ -2710,6 +2753,7 @@ "parameters": [ { "schema": { + "description": "The identifier of a client associated with a \"Login with Amazon\" account.", "type": "string" }, "in": "header", @@ -2719,30 +2763,31 @@ }, { "schema": { + "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.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-Scope", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", + "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": [ - "Keyword Recommendations" + "Ads" ] } }, - "/sb/negativeTargets/brands/recommendations": { + "/sb/targets/categories/{categoryRefinementId}/refinements": { "get": { - "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\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "SBTargetingGetNegativeBrands", + "description": "Returns refinements according to category input. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "SBTargetingGetRefinementsForCategory", "responses": { "200": { - "description": "SBTargetingGetNegativeBrands 200 response", + "description": "SBTargetingGetRefinementsForCategory 200 response", "content": { "application/vnd.sbtargeting.v4+json": { "schema": { - "$ref": "#/components/schemas/SBTargetingGetNegativeBrandsResponseContent" + "$ref": "#/components/schemas/SBTargetingGetRefinementsForCategoryResponseContent" } } } @@ -2767,16 +2812,6 @@ } } }, - "403": { - "description": "SBTargetingAccessDeniedException 403 response", - "content": { - "application/vnd.sbtargeting.v4+json": { - "schema": { - "$ref": "#/components/schemas/SBTargetingAccessDeniedExceptionResponseContent" - } - } - } - }, "429": { "headers": { "Retry-After": { @@ -2808,6 +2843,24 @@ } }, "parameters": [ + { + "schema": { + "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.", + "type": "string" + }, + "in": "path", + "name": "categoryRefinementId", + "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.", + "required": true + }, + { + "schema": { + "$ref": "#/components/schemas/SBTargetingLocale" + }, + "in": "query", + "name": "locale", + "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace." + }, { "schema": { "description": "Operations that return paginated results include a pagination token in this field. 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.", @@ -2839,89 +2892,81 @@ } ], "tags": [ - "Product Targeting" + "Product targeting categories" ] } }, - "/sb/beta/ads/delete": { - "post": { - "requestBody": { - "content": { - "application/vnd.sbadresource.v4+json": { - "schema": { - "$ref": "#/components/schemas/DeleteSponsoredBrandsAdsRequestContent" - } - } - } - }, - "description": "Deletes Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "DeleteSponsoredBrandsAds", + "/sb/budgetRules/{budgetRuleId}/campaigns": { + "get": { + "summary": "Gets all the campaigns associated with a budget rule", + "operationId": "GetCampaignsAssociatedWithSBBudgetRule", "responses": { - "207": { - "description": "DeleteSponsoredBrandsAds 207 response.", + "200": { + "description": "Successful operation.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteSponsoredBrandsAdsResponseContent" + "$ref": "#/components/schemas/SBGetAssociatedCampaignsResponse" } } } }, "400": { - "description": "InvalidArgumentException 400 response.", + "description": "Bad Request.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" + "$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/vnd.sbadresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" + "$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/vnd.sbadresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" + "$ref": "#/components/schemas/BudgetRuleError" } } } }, - "429": { - "headers": { - "Retry-After": { + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "content": { + "application/json": { "schema": { - "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", - "type": "number" - }, - "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." + "$ref": "#/components/schemas/BudgetRuleError" + } } - }, - "description": "ThrottlingException 429 response.", + } + }, + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" + "$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/vnd.sbadresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/InternalServerExceptionResponseContent" + "$ref": "#/components/schemas/BudgetRuleError" } } } @@ -2930,109 +2975,115 @@ "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 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" }, "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 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.", "required": true } ], "tags": [ - "Ads" + "BudgetRules" ] } }, - "/sb/beta/ads/list": { + "/sb/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.sbadresource.v4+json": { + "application/vnd.sbbudgetrulesrecommendation.v3+json": { "schema": { - "$ref": "#/components/schemas/ListSponsoredBrandsAdsRequestContent" + "oneOf": [ + { + "$ref": "#/components/schemas/SBBudgetRulesRecommendationEventRequest" + } + ], + "discriminator": { + "mapping": { + "EVENTS_FOR_EXISTING_CAMPAIGN": "#/components/schemas/SBBudgetRulesRecommendationEventRequest" + }, + "propertyName": "recommendationType" + } } } } }, - "description": "Lists Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "ListSponsoredBrandsAds", + "operationId": "SBGetBudgetRulesRecommendation", + "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": "ListSponsoredBrandsAds 200 response.", + "description": "Successful Operation.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbbudgetrulesrecommendation.v3+json": { "schema": { - "$ref": "#/components/schemas/ListSponsoredBrandsAdsResponseContent" + "$ref": "#/components/schemas/SBBudgetRulesRecommendationEventResponse" } } } }, "400": { - "description": "InvalidArgumentException 400 response.", - "content": { - "application/vnd.sbadresource.v4+json": { - "schema": { - "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" - } - } - } - }, - "401": { - "description": "UnauthorizedException 401 response.", - "content": { - "application/vnd.sbadresource.v4+json": { - "schema": { - "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" - } - } - } - }, - "403": { - "description": "AccessDeniedException 403 response.", + "description": "Bad Request.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbbudgetrulesrecommendation.v3+json": { "schema": { - "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" + "$ref": "#/components/schemas/SBBudgetRulesRecommendationError" } } } }, "429": { - "headers": { - "Retry-After": { - "schema": { - "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", - "type": "number" - }, - "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/vnd.sbadresource.v4+json": { + "application/vnd.sbbudgetrulesrecommendation.v3+json": { "schema": { - "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" + "$ref": "#/components/schemas/SBBudgetRulesRecommendationError" } } } }, "500": { - "description": "InternalServerException 500 response.", + "description": "Internal Server Error. Something went wrong on the server.", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbbudgetrulesrecommendation.v3+json": { "schema": { - "$ref": "#/components/schemas/InternalServerExceptionResponseContent" + "$ref": "#/components/schemas/SBBudgetRulesRecommendationError" } } } @@ -3041,7 +3092,6 @@ "parameters": [ { "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", "type": "string" }, "in": "header", @@ -3051,49 +3101,48 @@ }, { "schema": { - "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.", "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 profiles associated with the access token passed in the HTTP Authorization header.", "required": true } ], "tags": [ - "Ads" + "BudgetRulesRecommendation" ] } }, - "/sb/beta/ads/productCollection": { + "/sb/ads/creatives/productCollection": { "post": { "requestBody": { "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsProductCollectionAdsRequestContent" + "$ref": "#/components/schemas/CreateProductCollectionCreativeRequestContent" } } }, "required": true }, - "description": "Creates Sponsored Brands product collection ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", - "operationId": "CreateSponsoredBrandsProductCollectionAds", + "description": "This API creates a new version of creative for given Sponsored Brands ad by supplying product collection creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateProductCollectionCreative", "responses": { - "207": { - "description": "CreateSponsoredBrandsProductCollectionAds 207 response.", + "200": { + "description": "CreateProductCollectionCreative 200 response", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "$ref": "#/components/schemas/CreateSponsoredBrandsProductCollectionAdsResponseContent" + "$ref": "#/components/schemas/CreateProductCollectionCreativeResponseContent" } } } }, "400": { - "description": "InvalidArgumentException 400 response.", + "description": "InvalidArgumentException 400 response", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -3101,9 +3150,9 @@ } }, "401": { - "description": "UnauthorizedException 401 response.", + "description": "UnauthorizedException 401 response", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -3111,28 +3160,29 @@ } }, "403": { - "description": "AccessDeniedException 403 response.", + "description": "AccessDeniedException 403 response", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } }, - "429": { - "headers": { - "Retry-After": { + "409": { + "description": "ConflictStateException 409 response", + "content": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { - "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", - "type": "number" - }, - "description": "Delay in seconds, before the next re-try attempt to the operation is recommended." + "$ref": "#/components/schemas/ConflictStateExceptionResponseContent" + } } - }, - "description": "ThrottlingException 429 response.", + } + }, + "429": { + "description": "ThrottlingException 429 response", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -3140,9 +3190,9 @@ } }, "500": { - "description": "InternalServerException 500 response.", + "description": "InternalServerException 500 response", "content": { - "application/vnd.sbadresource.v4+json": { + "application/vnd.sbAdCreativeResource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -3153,42 +3203,265 @@ "parameters": [ { "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", + "$ref": "#/components/schemas/AcceptHeader" + }, + "in": "header", + "name": "Accept", + "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type." + }, + { + "schema": { + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis 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 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.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", "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.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", "required": true } ], "tags": [ - "Ads" + "Ad Creatives" ] } }, - "/sb/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": "getRuleBasedBudgetHistoryForSBCampaigns", - "responses": { - "200": { - "description": "Successful operation.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SBBudgetHistory" + "/sb/recommendations/keyword": { + "post": { + "summary": "Gets keyword recommendations", + "requestBody": { + "description": "**Must contain exactly only one of** \n \n 1.) An array of ASINs for which keyword recommendations are generated. \n \n 2.) The URL of a Stores page. Vendors may also specify the URL of a custom landing page. The products on the landing page are used to generate keyword recommendations. \n \n Optional parameters include the max number of suggestions and locale for keyword translations. Supported locales include: Simplified Chinese (locale: “zh_CN”) for US, UK and CA. English (locale: “en_GB”) for DE, FR, IT and ES. If locale is invalid or unsupported, no translations will be returned.", + "content": { + "application/vnd.sbkeywordrecommendation.v3+json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SBKeywordRecommendationRequestAsin" + }, + { + "$ref": "#/components/schemas/SBKeywordRecommendationRequestUrl" + } + ] + }, + "examples": { + "URL Request": { + "value": { + "creativeType": "VIDEO", + "maxNumSuggestions": "100", + "locale": "zh_CN", + "url": "www.amazon.com/sample_landing_page" + } + }, + "ASIN Request": { + "value": { + "asins": [ + "asin1", + "asin2", + "asin3" + ], + "creativeType": "PRODUCT_COLLECTION", + "maxNumSuggestions": "100", + "locale": "zh_CN" + } + } + } + } + } + }, + "operationId": "getKeywordRecommendations", + "description": "Gets an array of keyword recommendation objects for a set of ASINs included either on a landing page or a Stores page. Vendors may also specify a custom landing page.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "responses": { + "200": { + "$ref": "#/components/responses/SBKeywordRecommendationResponse" + }, + "400": { + "description": "Bad Request.", + "content": { + "application/vnd.sbkeywordrecommendation.v3+json": { + "schema": { + "$ref": "#/components/schemas/SBKeywordRecommendationError" + } + } + } + }, + "429": { + "description": "Too Many Requests - Request was rate-limited. Retry later", + "content": { + "application/vnd.sbkeywordrecommendation.v3+json": { + "schema": { + "$ref": "#/components/schemas/SBKeywordRecommendationError" + } + } + } + }, + "500": { + "description": "Internal Server SB Keyword Recommendations Error - Something went wrong on the server. Retry later and report an SB Keyword Recommendations Error if unresolved.", + "content": { + "application/vnd.sbkeywordrecommendation.v3+json": { + "schema": { + "$ref": "#/components/schemas/SBKeywordRecommendationError" + } + } + } + } + }, + "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 client associated with a \"Login with Amazon\" account.", + "required": true + } + ], + "tags": [ + "Keyword Recommendations" + ] + } + }, + "/sb/negativeTargets/brands/recommendations": { + "get": { + "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\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "operationId": "SBTargetingGetNegativeBrands", + "responses": { + "200": { + "description": "SBTargetingGetNegativeBrands 200 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingGetNegativeBrandsResponseContent" + } + } + } + }, + "400": { + "description": "SBTargetingBadRequestException 400 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent" + } + } + } + }, + "401": { + "description": "SBTargetingUnauthorizedException 401 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent" + } + } + } + }, + "403": { + "description": "SBTargetingAccessDeniedException 403 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingAccessDeniedExceptionResponseContent" + } + } + } + }, + "429": { + "headers": { + "Retry-After": { + "schema": { + "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": "SBTargetingThrottlingException 429 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent" + } + } + } + }, + "500": { + "description": "SBTargetingInternalServerException 500 response", + "content": { + "application/vnd.sbtargeting.v4+json": { + "schema": { + "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent" + } + } + } + } + }, + "parameters": [ + { + "schema": { + "description": "Operations that return paginated results include a pagination token in this field. 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" + }, + "in": "query", + "name": "nextToken", + "description": "Operations that return paginated results include a pagination token in this field. 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": { + "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 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" + }, + "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.", + "required": true + } + ], + "tags": [ + "Targeting recommendations" + ] + } + }, + "/sb/campaigns/{campaignId}/budgetRules/budgetHistory": { + "get": { + "summary": "Gets the budget history for a campaign specified by identifier.", + "description": "**Deprecation notice: This endpoint will be deprecated on August 31, 2023.** 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": "getRuleBasedBudgetHistoryForSBCampaigns", + "responses": { + "200": { + "description": "Successful operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SBBudgetHistory" } } } @@ -3324,26 +3597,28 @@ ] } }, - "/sb/beta/campaigns/list": { + "/sb/v4/ads/brandVideo": { "post": { + "summary": "Creates Sponsored Brands brand video ads.", "requestBody": { "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/ListSponsoredBrandsCampaignsRequestContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsBrandVideoAdsRequestContent" } } - } + }, + "required": true }, - "description": "Lists Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "ListSponsoredBrandsCampaigns", + "description": "Creates Sponsored Brands brand video ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "CreateSponsoredBrandsBrandVideoAds", "responses": { - "200": { - "description": "ListSponsoredBrandsCampaigns 200 response.", + "207": { + "description": "CreateSponsoredBrandsBrandVideoAds 207 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { - "$ref": "#/components/schemas/ListSponsoredBrandsCampaignsResponseContent" + "$ref": "#/components/schemas/CreateSponsoredBrandsBrandVideoAdsResponseContent" } } } @@ -3351,7 +3626,7 @@ "400": { "description": "InvalidArgumentException 400 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } @@ -3361,7 +3636,7 @@ "401": { "description": "UnauthorizedException 401 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } @@ -3371,7 +3646,7 @@ "403": { "description": "AccessDeniedException 403 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } @@ -3390,7 +3665,7 @@ }, "description": "ThrottlingException 429 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } @@ -3400,7 +3675,7 @@ "500": { "description": "InternalServerException 500 response.", "content": { - "application/vnd.sbcampaignresource.v4+json": { + "application/vnd.sbadresource.v4+json": { "schema": { "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } @@ -3431,12 +3706,13 @@ } ], "tags": [ - "Campaigns" + "Ads" ] } }, - "/sb/beta/ads/storeSpotlight": { + "/sb/v4/ads/storeSpotlight": { "post": { + "summary": "Creates Sponsored Brands store spotlight ads.", "requestBody": { "content": { "application/vnd.sbadresource.v4+json": { @@ -3547,85 +3823,77 @@ ] } }, - "/sb/beta/adGroups/list": { + "/sb/recommendations/creative/headline": { "post": { "requestBody": { "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ListSponsoredBrandsAdGroupsRequestContent" + "$ref": "#/components/schemas/HeadlineSuggestionRequest" } } - } + }, + "required": true }, - "description": "Lists Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "operationId": "ListSponsoredBrandsAdGroups", + "description": "API to receive creative headline suggestions.", + "operationId": "getHeadlineRecommendations", "responses": { "200": { - "description": "ListSponsoredBrandsAdGroups 200 response.", + "description": "Successful", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ListSponsoredBrandsAdGroupsResponseContent" + "$ref": "#/components/schemas/HeadlineSuggestionResponse" } } } }, "400": { - "description": "InvalidArgumentException 400 response.", + "description": "Bad Request", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" + "$ref": "#/components/schemas/ModerationError" } } } }, "401": { - "description": "UnauthorizedException 401 response.", + "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.\n", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" + "$ref": "#/components/schemas/ModerationError" } } } }, - "403": { - "description": "AccessDeniedException 403 response.", + "422": { + "description": "Unprocessable entity - Failed due to invalid parameters.", "content": { - "application/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" + "$ref": "#/components/schemas/ModerationError" } } } }, "429": { - "headers": { - "Retry-After": { - "schema": { - "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", - "type": "number" - }, - "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/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" + "$ref": "#/components/schemas/ModerationError" } } } }, "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/vnd.sbadgroupresource.v4+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/InternalServerExceptionResponseContent" + "$ref": "#/components/schemas/ModerationError" } } } @@ -3634,7 +3902,6 @@ "parameters": [ { "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.", "type": "string" }, "in": "header", @@ -3644,91 +3911,105 @@ }, { "schema": { - "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.", "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 profiles associated with the access token passed in the HTTP Authorization header.", "required": true } ], "tags": [ - "AdGroups" + "Suggestions", + "Recommendations" ] } }, - "/sb/recommendations/creative/headline": { + "/sb/campaigns/budget/usage": { "post": { + "summary": "Budget usage API for SB campaigns", + "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "tags": [ + "Budget Usage" + ], "requestBody": { "content": { - "application/json": { + "application/vnd.sbcampaignbudgetusage.v1+json": { "schema": { - "$ref": "#/components/schemas/HeadlineSuggestionRequest" + "$ref": "#/components/schemas/BudgetUsageCampaignRequest" } } }, "required": true }, - "description": "API to receive creative headline suggestions.", - "operationId": "getHeadlineRecommendations", + "operationId": "sbCampaignsBudgetUsage", "responses": { - "200": { - "description": "Successful", + "207": { + "description": "Multi-status. An object containing a list of budget usage response objects reflecting the same order as the input.", "content": { - "application/json": { + "application/vnd.sbcampaignbudgetusage.v1+json": { "schema": { - "$ref": "#/components/schemas/HeadlineSuggestionResponse" + "$ref": "#/components/schemas/BudgetUsageCampaignResponse" } } } }, "400": { - "description": "Bad Request", + "description": "Bad Request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ModerationError" + "$ref": "#/components/schemas/BudgetUsageError" } } } }, "401": { - "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.\n", + "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/ModerationError" + "$ref": "#/components/schemas/BudgetUsageError" + } + } + } + }, + "403": { + "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageError" } } } }, "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/ModerationError" + "$ref": "#/components/schemas/BudgetUsageError" } } } }, "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/ModerationError" + "$ref": "#/components/schemas/BudgetUsageError" } } } }, "500": { - "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.", + "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/ModerationError" + "$ref": "#/components/schemas/BudgetUsageError" } } } @@ -3736,115 +4017,102 @@ }, "parameters": [ { - "schema": { - "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": { - "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 profiles 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 } - ], - "tags": [ - "Suggestions", - "Recommendations" ] } }, - "/sb/campaigns/budget/usage": { + "/sb/v4/adGroups/delete": { "post": { - "summary": "Budget usage API for SB campaigns", - "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", - "tags": [ - "Budget Usage" - ], + "summary": "Deletes Sponsored Brands ad groups.", "requestBody": { "content": { - "application/vnd.sbcampaignbudgetusage.v1+json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageCampaignRequest" + "$ref": "#/components/schemas/DeleteSponsoredBrandsAdGroupsRequestContent" } } - }, - "required": true + } }, - "operationId": "sbCampaignsBudgetUsage", + "description": "Deletes Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "operationId": "DeleteSponsoredBrandsAdGroups", "responses": { "207": { - "description": "Multi-status. An object containing a list of budget usage response objects reflecting the same order as the input.", + "description": "DeleteSponsoredBrandsAdGroups 207 response.", "content": { - "application/vnd.sbcampaignbudgetusage.v1+json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageCampaignResponse" + "$ref": "#/components/schemas/DeleteSponsoredBrandsAdGroupsResponseContent" } } } }, "400": { - "description": "Bad Request.", + "description": "InvalidArgumentException 400 response.", "content": { - "application/json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageError" + "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent" } } } }, "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": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageError" + "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent" } } } }, "403": { - "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "description": "AccessDeniedException 403 response.", "content": { - "application/json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageError" + "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent" } } } }, - "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/BudgetUsageError" - } + "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.", + "type": "number" + }, + "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": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageError" + "$ref": "#/components/schemas/ThrottlingExceptionResponseContent" } } } }, "500": { - "description": "Internal Server BudgetUsageError - Something went wrong on the server. Retry later and report an BudgetUsageError if unresolved.", + "description": "InternalServerException 500 response.", "content": { - "application/json": { + "application/vnd.sbadgroupresource.v4+json": { "schema": { - "$ref": "#/components/schemas/BudgetUsageError" + "$ref": "#/components/schemas/InternalServerExceptionResponseContent" } } } @@ -3852,19 +4120,28 @@ }, "parameters": [ { - "schema": {}, + "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": {}, + "schema": { + "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.", + "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 } + ], + "tags": [ + "AdGroups" ] } }, @@ -4197,12 +4474,12 @@ }, { "schema": { - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "type": "string" }, "in": "header", "name": "Amazon-Advertising-API-ClientId", - "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", + "description": "-----------------------------------------------\nSimple types\n-----------------------------------------------\nThe identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.", "required": true }, { @@ -4212,7 +4489,8 @@ }, "in": "header", "name": "Amazon-Advertising-API-Scope", - "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API." + "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.", + "required": true } ], "tags": [ @@ -4256,24 +4534,6 @@ } } }, - "SBTargetingThrottlingExceptionResponseContent": { - "description": "Returns information about a ThrottlingException.", - "type": "object", - "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" - } - }, - "required": [ - "code", - "details" - ] - }, "AdGroupMutationError": { "type": "object", "properties": { @@ -4290,32 +4550,6 @@ "errorValue" ] }, - "BudgetError": { - "type": "object", - "properties": { - "reason": { - "type": "string" - }, - "cause": { - "$ref": "#/components/schemas/ErrorCause" - }, - "upperLimit": { - "type": "string" - }, - "lowerLimit": { - "type": "string" - }, - "message": { - "description": "Human readable error message.", - "type": "string" - } - }, - "required": [ - "cause", - "message", - "reason" - ] - }, "InvalidArgumentExceptionResponseContent": { "type": "object", "properties": { @@ -4346,61 +4580,44 @@ } } }, - "SDHeadlineRecommendationSchemaValidationException": { + "ListSponsoredBrandsAdGroupsBetaResponseContent": { "type": "object", "properties": { - "code": { - "description": "InvalidArgumentErrorCode.", - "type": "string", - "enum": [ - "INVALID_ARGUMENT" - ] + "totalResults": { + "description": "The total number of entities.", + "maximum": 100, + "type": "number", + "minimum": 0 }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } - }, - "GetCampaignShopperSegmentForecastResponseContent": { - "description": "Response structure for shopper segment bidding campaign performance forecasts.", - "type": "object", - "properties": { - "output": { + "adGroups": { "minItems": 0, - "maxItems": 5, - "description": "An array of forecasts for each shopper segment. Currently only `shopperSegmentNewToBrandPurchase` segment is provided.", + "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/ResponseOutput" + "$ref": "#/components/schemas/AdGroup" } + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" } } }, - "AccessDeniedErrorCode": { - "type": "string", - "enum": [ - "ACCESS_DENIED" - ] - }, - "DeleteSponsoredBrandsAdGroupsRequestContent": { - "type": "object", - "properties": { - "adGroupIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" - } - } - }, - "CreateBudgetRulesResponse": { + "CreateSponsoredBrandsVideoAdsBetaRequestContent": { "type": "object", "properties": { - "responses": { + "ads": { + "minItems": 1, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/BudgetRuleResponse" + "$ref": "#/components/schemas/CreateVideoAd" } } - } + }, + "required": [ + "ads" + ] }, "CreateBrandVideoAd": { "type": "object", @@ -4412,7 +4629,7 @@ "minLength": 1, "description": "The name of the ad.", "type": "string", - "maxLength": 128 + "maxLength": 255 }, "state": { "$ref": "#/components/schemas/CreateOrUpdateEntityState" @@ -4433,51 +4650,134 @@ "state" ] }, - "CreateSponsoredBrandsProductCollectionAdsResponseContent": { + "SBTargetingEstimatedReachRange": { "type": "object", "properties": { - "ads": { - "$ref": "#/components/schemas/BulkAdOperationResponse" + "min": { + "format": "int64", + "type": "integer" + }, + "max": { + "format": "int64", + "type": "integer" } } }, - "DeleteSponsoredBrandsCampaignsResponseContent": { + "CreativeRecommendationsRequestContent": { "type": "object", "properties": { - "campaigns": { - "$ref": "#/components/schemas/BulkCampaignOperationResponse" + "creativeType": { + "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.", + "type": "string" + }, + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.", + "type": "string" + }, + "maxResults": { + "description": "Set a limit on the number of results returned by an operation.", + "maximum": 5, + "type": "number", + "minimum": 1 + }, + "landingPageUrl": { + "description": "URL that is intended to be landing page for the sponsored ad.", + "type": "string" } - } + }, + "required": [ + "creativeType", + "landingPageUrl" + ] }, - "SBTargetingEstimatedReachRange": { + "MultiAdGroupAd": { "type": "object", "properties": { - "min": { - "format": "int64", - "type": "integer" + "adId": { + "description": "The ad identifier.", + "type": "string" }, - "max": { - "format": "int64", - "type": "integer" + "campaignId": { + "description": "The campaign identifier.", + "type": "string" + }, + "landingPage": { + "$ref": "#/components/schemas/LandingPage" + }, + "name": { + "minLength": 1, + "description": "The name of the ad.", + "type": "string", + "maxLength": 255 + }, + "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" + ] }, - "HeadlineSuggestionResponse": { - "description": "Response structure of headline suggestion API.", + "ExtendedProductCollectionCreative": { "type": "object", "properties": { - "requestId": { - "description": "An identifier for request made which is generated by server.", + "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" }, - "suggestions": { - "description": "Suggestions are sorted, i.e., more suitable headline has lesser array index value", + "customImages": { + "minItems": 0, + "maxItems": 5, + "uniqueItems": true, + "description": "An array of customImages associated with the creative.", "type": "array", "items": { - "$ref": "#/components/schemas/SuggestedHeadline" + "$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" + ] }, "UnsupportedMediaTypeExceptionResponseContent": { "type": "object", @@ -4540,26 +4840,31 @@ "CONFLICT_STATE" ] }, - "CreateStoreSpotlightCreativeResponseContent": { - "description": "Create creative response", + "SubmitImageTasksRequestContent": { "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" + "imageTaskMetadataList": { + "minItems": 0, + "maxItems": 10, + "description": "Advertiser provided information to generate AI images. Max size of the list is 4, each element will be executed as an individual image task", + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageTaskMetadata" + } } } }, - "state": { - "description": "The budget rule state.", + "ProgramType": { + "description": "Asset program type", "type": "string", "enum": [ - "ACTIVE", - "PAUSED" + "A_PLUS", + "SB", + "POSTS", + "STORES", + "BBB_STORES", + "AMAZON_DSP", + "AMAZON_CREATIVE_SERVICES" ] }, "AccessDeniedExceptionResponseContent": { @@ -4578,13 +4883,15 @@ "message" ] }, - "ViolatingImageEvidence": { - "type": "object", - "properties": { - "violatingImageCrop": { - "$ref": "#/components/schemas/ImageCrop" - } - } + "AssetSubType": { + "description": "Asset subtype from Asset Library which you are looking to get recommendations for. Asset Library documentation can be found here: https://advertising.amazon.com/API/docs/en-us/creative-asset-library", + "type": "string", + "enum": [ + "CUSTOM_IMAGE", + "LOGO", + "PRODUCT_IMAGE", + "AUTHOR_IMAGE" + ] }, "Tags": { "description": "A list of advertiser-specified custom identifiers for the campaign. Each customer identifier is a key-value pair. You can specify a maximum of 50 identifiers.", @@ -4599,20 +4906,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,15 +4917,22 @@ "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" + "consentToTranslate": { + "description": "If set to true and video asset is not in the marketplace's default language, Amazon will attempt to translate the video to the marketplace's default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information.", + "type": "boolean" }, "customImageCrop": { "$ref": "#/components/schemas/AssetCrop" @@ -4637,10 +4940,40 @@ "customImageUrl": { "type": "string" }, + "originalVideoAssetIds": { + "minItems": 1, + "maxItems": 1, + "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then `originalVideoAssetIds` will return the original video assetId whereas `videoAssetIds` will return translated video assetId. In all other cases, 'originalVideoAssetIds' and `videoAssetIds` both will return original video assetId.", + "type": "array", + "items": { + "description": "The identifier of image/video asset from the store's asset library", + "type": "string" + } + }, + "asins": { + "minItems": 0, + "maxItems": 100, + "description": "-----------------------------------------------\nList types\n-----------------------------------------------\nA 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, - "description": "An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API.", + "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then 'videoAssetIds' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId.", "type": "array", "items": { "description": "The identifier of image/video asset from the store's asset library", @@ -4657,25 +4990,20 @@ } } }, - "AdGroupSuccessResponseItem": { - "type": "object", - "properties": { - "adGroup": { - "$ref": "#/components/schemas/AdGroup" - }, - "index": { - "description": "the index of the adGroup in the array from the request body.", - "maximum": 10, - "type": "number", - "minimum": 0 - }, - "adGroupId": { - "description": "the adGroup ID.", - "type": "string" + "SBInsightsObject": { + "oneOf": [ + { + "type": "object", + "title": "keywordInsight", + "properties": { + "keywordInsight": { + "$ref": "#/components/schemas/SBInsightsKeywordInsight" + } + }, + "required": [ + "keywordInsight" + ] } - }, - "required": [ - "index" ] }, "SBGetAssociatedCampaignsResponse": { @@ -4721,54 +5049,24 @@ } } }, - "SDHeadlineRecommendationRequest": { - "description": "Request structure of SD headline recommendation API.", + "TaskIdFilter": { "type": "object", "properties": { - "asins": { - "minItems": 1, - "maxItems": 100, - "description": "An array of ASINs associated with the creative.", + "include": { + "minItems": 0, + "maxItems": 10, "type": "array", "items": { "type": "string" } - }, - "maxNumRecommendations": { - "description": "Maximum number of recommendations that API should return. Response will [0, maxNumRecommendations] recommendations (recommendations are not guaranteed as there can be instances where the ML model can not generate policy compliant headlines for the given set of asins).", - "maximum": 10, - "type": "number", - "minimum": 1 - }, - "adFormat": { - "type": "string", - "enum": [ - "SPONSORED_DISPLAY" - ] } } }, - "SPRuleBasedBudget": { + "CreateSponsoredBrandsProductCollectionAdsBetaResponseContent": { "type": "object", "properties": { - "executionTime": { - "format": "int64", - "description": "Epoch time of budget rule execution.", - "type": "number" - }, - "appliedRule": { - "$ref": "#/components/schemas/SPBudgetRule" - }, - "ruleBasedBudgetValue": { - "description": "The budget value.", - "type": "number" - }, - "dailyBudgetValue": { - "description": "The daily budget value.", - "type": "number" - }, - "performanceMetric": { - "$ref": "#/components/schemas/PerformanceMetricValue" + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" } } }, @@ -4776,7 +5074,7 @@ "type": "object", "properties": { "asins": { - "minItems": 0, + "minItems": 3, "maxItems": 100, "type": "array", "items": { @@ -4787,46 +5085,8 @@ "$ref": "#/components/schemas/LandingPageType" }, "url": { - "description": "URL of an existing simple landing page or Store page. Vendors may also specify the URL of a custom landing page.\nIf a custom URL is specified, the landing page must include the ASINs of at least three products that are\nadvertised as part of the campaign. Do not include this property in the request if the asins property is also\nincluded, these properties are mutually exclusive.\nNote that brandVideo ads only support Store page as landing page.", - "type": "string" - } - } - }, - "ListSponsoredBrandsCampaignsResponseContent": { - "type": "object", - "properties": { - "campaigns": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/Campaign" - } - }, - "nextToken": { - "description": "Token value allowing to navigate to the next response page.", - "type": "string" - }, - "totalCount": { - "description": "The total number of entities.", - "maximum": 100, - "type": "number", - "minimum": 0 - } - } - }, - "SBBudgetHistory": { - "type": "object", - "properties": { - "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.", + "description": "URL of an existing simple landing page or Store page. Vendors may also specify the URL of a custom landing page.\nIf a custom URL is specified, the landing page must include the ASINs of at least three products that are\nadvertised as part of the campaign. Do not include this property in the request if the asins property is also\nincluded, these properties are mutually exclusive.\nNote that brandVideo ads only support Store page as landing page and does not allow asins property.", "type": "string" - }, - "history": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SBRuleBasedBudget" - } } } }, @@ -4881,7 +5141,7 @@ ] }, "CreativeLandingPage": { - "description": "Landing page", + "description": "Landing page.", "type": "object", "properties": { "type": { @@ -4892,97 +5152,6 @@ } } }, - "ImageComponentResponse": { - "description": "Pre moderation result for a image component", - "type": "object", - "properties": { - "preModerationStatus": { - "description": "The pre moderation status of the component.", - "type": "string", - "enum": [ - "REJECTED", - "APPROVED", - "FAILED", - "RETRYABLE_FAILURE" - ] - }, - "componentType": { - "description": "Type of the image component.", - "type": "string", - "enum": [ - "BRAND_LOGO", - "CUSTOM_IMAGE", - "OTHER_IMAGE" - ] - }, - "landingPage": { - "$ref": "#/components/schemas/LandingPage" - }, - "policyViolations": { - "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", - "type": "array", - "items": { - "$ref": "#/components/schemas/ImagePolicyViolation" - } - }, - "id": { - "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", - "type": "string" - }, - "url": { - "description": "Publicly accessible url of the image that got pre moderated.", - "type": "string" - } - } - }, - "SBBudgetRulesRecommendationEventResponse": { - "description": "Special events with date range and suggested budget increase.", - "type": "object", - "properties": { - "recommendedBudgetRuleEvents": { - "description": "A list of recommended special events with date range and suggested budget increase.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SBBudgetRulesRecommendationEvent" - } - } - } - }, - "TextPolicyViolation": { - "description": "Structure of policy violation for a text component", - "type": "object", - "properties": { - "policyDescription": { - "description": "A human-readable description of the policy.", - "type": "string" - }, - "name": { - "description": "A policy violation code.", - "type": "string", - "example": "GRAMMATICAL_ERROR" - }, - "type": { - "description": "Type of policy violation.", - "type": "string", - "enum": [ - "WARNING", - "REJECTED" - ] - }, - "policyLinkUrl": { - "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.", - "type": "string", - "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol" - }, - "textEvidences": { - "description": "List of text evidences", - "type": "array", - "items": { - "$ref": "#/components/schemas/TextEvidence" - } - } - } - }, "CreateSPBudgetRulesRequest": { "type": "object", "properties": { @@ -5083,7 +5252,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,9 +5264,9 @@ }, "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 + "maxLength": 255 }, "state": { "$ref": "#/components/schemas/EntityState" @@ -5115,9 +5284,7 @@ }, "required": [ "adGroupId", - "adId", "campaignId", - "name", "state" ] }, @@ -5132,7 +5299,7 @@ "minLength": 1, "description": "The name of the ad.", "type": "string", - "maxLength": 128 + "maxLength": 255 }, "state": { "$ref": "#/components/schemas/CreateOrUpdateEntityState" @@ -5167,93 +5334,82 @@ } } }, - "SBKeywordRecommendationMatchType": { - "description": "The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center.", - "type": "string", - "enum": [ - "broad", - "exact", - "phrase" - ] - }, - "InvalidArgumentError": { + "SBInsightsCampaignInsightsRequestContent": { "type": "object", "properties": { - "errorType": { - "description": "The type of the error", - "type": "string" - }, - "errorValue": { - "$ref": "#/components/schemas/InvalidArgumentErrorSelector" + "adGroups": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SBInsightsAdGroup" + } } }, "required": [ - "errorType", - "errorValue" + "adGroups" ] }, - "SevenDaysMissedOpportunities": { - "description": "Missed Opportunities in the trailing seven days.", + "CreativeImageRecommendationEntry": { "type": "object", "properties": { - "estimatedMissedSalesLower": { + "score": { "format": "double", - "description": "Lower bound of the estimated Missed Sales. This will be in local currency.", - "type": "number" + "description": "Recommendations with higher values are more relevant", + "maximum": 1, + "type": "number", + "minimum": 0 }, - "estimatedMissedSalesUpper": { - "format": "double", - "description": "Upper bound of the estimated Missed Sales. This will be in local currency.", + "sizeInBytes": { + "description": "The asset size in bytes", "type": "number" }, - "endDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "End date of the Missed Opportunities date range (YYYY-MM-DD) in local time.", + "assetId": { + "description": "The identifier of image/video asset from the store's asset library", "type": "string" }, - "estimatedMissedImpressionsLower": { - "description": "Lower bound of the estimated Missed Impressions.", - "type": "number" - }, - "estimatedMissedClicksLower": { - "description": "Lower bound of the estimated Missed Clicks.", - "type": "number" - }, - "estimatedMissedClicksUpper": { - "description": "Upper bound of the estimated Missed Clicks.", - "type": "number" + "imageUrl": { + "description": "The URL of the asset", + "type": "string" }, - "estimatedMissedImpressionsUpper": { - "description": "Upper bound of the estimated Missed Impressions.", + "width": { + "description": "The width of the asset in pixels", "type": "number" }, - "startDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "Start date of the Missed Opportunities date range (YYYY-MM-DD) in local time.", + "name": { + "description": "The fileName of the asset", "type": "string" }, - "percentTimeInBudget": { - "format": "double", - "description": "Percentage of time the campaign is active with a budget.", + "contentType": { + "$ref": "#/components/schemas/MediaType" + }, + "height": { + "description": "The height of the asset in pixels", "type": "number" } } }, - "BudgetUsagePortfolioResponse": { + "SubmitImageTasksResponseContent": { "type": "object", "properties": { - "success": { - "description": "List of budget usage percentages that were successfully pulled", + "submitted": { + "minItems": 0, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/BudgetUsagePortfolio" + "$ref": "#/components/schemas/Submitted" } }, + "batchId": { + "description": "As per API First guidance, batch API should return a separate list for success and errors in the response.\nThe success/submitted and error fields will indicate the status of submission, they don't mean the status of image generation task.\nStatus code will be 207 for partial successful requests and all successful requests.\nA batchId that is used to track status multiple tasks if they are submitted in one batch request\nIf none of the request is submitted successfully, batchId will be null", + "type": "string" + }, "error": { - "description": "List of budget usage percentages that failed to pull", + "minItems": 0, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/BudgetUsagePortfolioBatchError" + "$ref": "#/components/schemas/ErrorDetails" } } } @@ -5280,17 +5436,24 @@ } } }, - "GetSPBudgetRuleResponse": { + "CreativeRecommendationsEligibilityRequestContent": { "type": "object", "properties": { - "budgetRule": { - "$ref": "#/components/schemas/SPBudgetRule" + "landingPageUrl": { + "description": "URL that is intended to be landing page for the sponsored ad.", + "type": "string" } - } + }, + "required": [ + "landingPageUrl" + ] }, "SBKeywordSuggestion": { "type": "object", "properties": { + "searchTermImpressionShare": { + "$ref": "#/components/schemas/SBKeywordRecommendationImpressionShare" + }, "matchType": { "$ref": "#/components/schemas/SBKeywordRecommendationMatchType" }, @@ -5298,6 +5461,9 @@ "description": "Localized keyword value if locale was specified.", "type": "string" }, + "searchTermImpressionRank": { + "$ref": "#/components/schemas/SBKeywordRecommendationImpressionRank" + }, "recommendationId": { "description": "Unique ID for each recommendation.", "type": "string" @@ -5311,164 +5477,27 @@ } } }, - "CreateBrandVideoCreative": { + "UpdateSponsoredBrandsAdGroupsBetaRequestContent": { "type": "object", "properties": { - "asins": { - "minItems": 1, - "maxItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "brandLogoCrop": { - "$ref": "#/components/schemas/BrandLogoCrop" - }, - "brandName": { - "minLength": 1, - "type": "string", - "maxLength": 30 - }, - "videoAssetIds": { + "adGroups": { "minItems": 1, - "maxItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "brandLogoAssetID": { - "type": "string" - }, - "headline": { - "minLength": 1, - "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.", - "type": "string", - "maxLength": 50 - } - } - }, - "SBTargetingGetRefinementsForCategoryResponseContent": { - "description": "Response object for /sb/targets/categories/{categoryRefinementId}/refinements containing information on Brand Nodes, Age Range Nodes, and Genre Nodes.\n Response is paginated with pagination occurring for all three arrays at once.\n Example: If there are 800 brands, 5 age ranges, and 600 genres, the first response will return 500 brands, 5 age ranges, and 500 genres. The next paginated response will return 300 brands, 0 age ranges, and 100 genres.", - "type": "object", - "properties": { - "ageRanges": { - "maxItems": 500, - "description": "List of Age Ranges. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Age Ranges. Age Ranges are only available for categories related to children's toys and games.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SBTargetingAgeRange" - } - }, - "brands": { - "maxItems": 500, - "description": "List of Brands.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SBTargetingBrand" - } - }, - "genres": { - "maxItems": 500, - "description": "List of Genres. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Node IDs. Genres are only available for categories related to books.", + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/SBTargetingGenre" + "$ref": "#/components/schemas/UpdateAdGroup" } - }, - "nextToken": { - "description": "Operations that return paginated results include a pagination token in this field. 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" } - } - }, - "SBKeywordRecommendationError": { - "description": "The Error Response Object.", - "type": "object", - "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" - } - } - }, - "RuleDuration": { - "type": "object", - "properties": { - "eventTypeRuleDuration": { - "$ref": "#/components/schemas/EventTypeRuleDuration" - }, - "dateRangeTypeRuleDuration": { - "$ref": "#/components/schemas/DateRangeTypeRuleDuration" - } - } - }, - "LandingPageType": { - "description": "The type of landing page, such as store page, product list (simple landing page), custom url.", - "type": "string", - "enum": [ - "PRODUCT_LIST", - "STORE", - "CUSTOM_URL", - "DETAIL_PAGE" + }, + "required": [ + "adGroups" ] }, - "ListSponsoredBrandsAdsResponseContent": { + "CreateSponsoredBrandsExtendedProductCollectionAdsResponseContent": { "type": "object", "properties": { "ads": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/Ad" - } - }, - "totalResults": { - "description": "The total number of entities.", - "maximum": 100, - "type": "number", - "minimum": 0 - }, - "nextToken": { - "description": "Token value allowing to navigate to the next response page.", - "type": "string" - } - } - }, - "ListSponsoredBrandsCampaignsRequestContent": { - "type": "object", - "properties": { - "campaignIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" - }, - "portfolioIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" - }, - "stateFilter": { - "$ref": "#/components/schemas/EntityStateFilter" - }, - "maxResults": { - "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", - "maximum": 100, - "type": "number", - "minimum": 1 - }, - "nextToken": { - "description": "Token value allowing to navigate to the next response page.", - "type": "string" - }, - "includeExtendedDataFields": { - "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.", - "type": "boolean" - }, - "nameFilter": { - "$ref": "#/components/schemas/NameFilter" + "$ref": "#/components/schemas/BulkAdOperationResponse" } } }, @@ -5512,241 +5541,95 @@ "campaignId" ] }, - "Forecasts": { - "description": "The campaign performance forecast for each confidence interval. Currently only `large` interval is provided.", + "SBInsightsCampaignInsightsResponseContent": { + "description": "Response object for /sb/campaigns/insights containing a list of insights for the campaign.", "type": "object", "properties": { - "large": { - "$ref": "#/components/schemas/Forecast" + "insights": { + "minItems": 0, + "maxItems": 1000, + "type": "array", + "items": { + "$ref": "#/components/schemas/SBInsightsObject" + } + }, + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field. 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" } } }, - "ModerationError": { - "description": "The Error Response Object.", + "ViolatingTextEvidence": { "type": "object", "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" + "violatingTextPosition": { + "$ref": "#/components/schemas/TextPosition" }, - "details": { - "description": "A human-readable description of the response.", + "violatingText": { + "description": "The specific text determined to violate the specified policy in reviewedText.", "type": "string" } } }, - "SBForecastingAdGroup": { - "description": "The ad group settings.", + "CreateSponsoredBrandsVideoAdsBetaResponseContent": { "type": "object", "properties": { - "negativeKeywords": { - "minItems": 0, - "maxItems": 800, - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeKeyword" - } - }, - "bidAdjustments": { - "minItems": 0, - "maxItems": 4, - "type": "array", - "items": { - "$ref": "#/components/schemas/BidAdjustment" - } + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" + } + } + }, + "BudgetUsagePortfolio": { + "type": "object", + "properties": { + "budgetUsagePercent": { + "description": "Budget usage percentage (spend / available budget) for the given budget policy.", + "type": "number" }, - "keywords": { - "minItems": 0, - "maxItems": 800, - "type": "array", - "items": { - "$ref": "#/components/schemas/Keyword" - } + "portfolioId": { + "description": "ID of requested resource", + "type": "string" }, - "creativeType": { - "$ref": "#/components/schemas/CreativeType" + "usageUpdatedTimestamp": { + "format": "date-time", + "description": "Last evaluation time for budget usage", + "type": "string" }, - "negativeTargets": { - "minItems": 0, - "maxItems": 500, - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeProductTarget" - } + "index": { + "description": "An index to maintain order of the portfolioIds", + "type": "number" }, - "bidOptimizationStrategy": { - "$ref": "#/components/schemas/BidOptimizationStrategy" + "budget": { + "description": "Budget amount of resource requested", + "type": "number" + } + } + }, + "CreativeType": { + "description": "The creative type of SB ad.", + "type": "string", + "enum": [ + "PRODUCT_COLLECTION", + "STORE_SPOTLIGHT", + "VIDEO", + "BRAND_VIDEO" + ] + }, + "CustomImage": { + "type": "object", + "properties": { + "assetId": { + "type": "string" }, - "targets": { - "minItems": 0, - "maxItems": 500, - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductTarget" - } + "crop": { + "$ref": "#/components/schemas/CustomImageCrop" }, - "adGroupId": { - "description": "The ad group identifier.", + "url": { "type": "string" } } }, - "TextEvidence": { - "description": "Structure of a text evidence", - "type": "object", - "properties": { - "violatingText": { - "description": "The specific text determined to violate the specified policy in reviewedText.", - "type": "string", - "example": "alcohol" - }, - "position": { - "description": "Position in the textComponent where the policy violation is detected.", - "type": "object", - "properties": { - "start": { - "description": "Zero-based index into the text in textComponent where the text specified in violatingText starts.", - "type": "integer" - }, - "end": { - "description": "Zero-based index into the text in textComponent where the text specified in violatingText ends.", - "type": "integer" - } - } - } - } - }, - "SecondaryHeadlineRecommendationGroups": { - "minItems": 0, - "maxItems": 5, - "description": "Ordered list of Secondary Headline recommendation groups.", - "type": "array", - "items": { - "$ref": "#/components/schemas/TextRecommendations" - } - }, - "CampaignMutationSuccessResponseItem": { - "type": "object", - "properties": { - "campaignId": { - "description": "The campaign ID.", - "type": "string" - }, - "index": { - "description": "The index of the campaign in the array from the request body.", - "maximum": 10, - "type": "number", - "minimum": 0 - }, - "campaign": { - "$ref": "#/components/schemas/Campaign" - } - }, - "required": [ - "index" - ] - }, - "ViolatingTextEvidence": { - "type": "object", - "properties": { - "violatingTextPosition": { - "$ref": "#/components/schemas/TextPosition" - }, - "violatingText": { - "description": "The specific text determined to violate the specified policy in reviewedText.", - "type": "string" - } - } - }, - "BudgetUsagePortfolio": { - "type": "object", - "properties": { - "budgetUsagePercent": { - "description": "Budget usage percentage (spend / available budget) for the given budget policy.", - "type": "number" - }, - "portfolioId": { - "description": "ID of requested resource", - "type": "string" - }, - "usageUpdatedTimestamp": { - "format": "date-time", - "description": "Last evaluation time for budget usage", - "type": "string" - }, - "index": { - "description": "An index to maintain order of the portfolioIds", - "type": "number" - }, - "budget": { - "description": "Budget amount of resource requested", - "type": "number" - } - } - }, - "CreativeType": { - "description": "The creative type of SB ad.", - "type": "string", - "enum": [ - "PRODUCT_COLLECTION", - "AUTHOR_COLLECTION", - "STORE_SPOTLIGHT", - "VIDEO", - "BRAND_VIDEO" - ] - }, - "BidOptimizationStrategy": { - "description": "The bid optimization strategy.\n- MAXIMIZE_IMMEDIATE_SALES - The default bidding strategy. The campaign is optimized to maximize sale.\n- MAXIMIZE_NEW_TO_BRAND_CUSTOMERS - The campaign is optimized to acquire more new-to-brand customers.", - "type": "string", - "enum": [ - "MAXIMIZE_IMMEDIATE_SALES", - "MAXIMIZE_NEW_TO_BRAND_CUSTOMERS" - ] - }, - "InternalErrorErrorCode": { - "type": "string", - "enum": [ - "INTERNAL_ERROR" - ] - }, - "CreateVideoCreative": { - "type": "object", - "properties": { - "asins": { - "minItems": 1, - "maxItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "videoAssetIds": { - "minItems": 1, - "maxItems": 1, - "description": "In SB API V4, `videoMediaIds` is replaced by `videoAssetIds`.\n`videoAssetIds` will only allow Asset Library identifiers for ad creation, but responses can include mediaIds for v1 campaigns and API V3 operations.\nAt a future state, existing mediaIds will be added to Asset library for use in SB campaigns.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "InvalidArgumentErrorCode": { - "type": "string", - "enum": [ - "INVALID_ARGUMENT" - ] - }, - "MatchType": { - "description": "The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center.", - "type": "string", - "enum": [ - "exact", - "phrase", - "broad" - ] - }, - "UpdateSponsoredBrandsAdGroupsRequestContent": { + "UpdateSponsoredBrandsAdGroupsRequestContent": { "type": "object", "properties": { "adGroups": { @@ -5762,6 +5645,15 @@ "adGroups" ] }, + "SBInsightsMatchType": { + "description": "The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center.", + "type": "string", + "enum": [ + "EXACT", + "PHRASE", + "BROAD" + ] + }, "SBListAssociatedBudgetRulesResponse": { "type": "object", "properties": { @@ -5774,37 +5666,6 @@ } } }, - "CreateProductCollectionAd": { - "type": "object", - "properties": { - "landingPage": { - "$ref": "#/components/schemas/LandingPage" - }, - "name": { - "minLength": 1, - "description": "The name of the ad.", - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/CreateOrUpdateEntityState" - }, - "adGroupId": { - "description": "The adGroup identifier.", - "type": "string" - }, - "creative": { - "$ref": "#/components/schemas/CreateProductCollectionCreative" - } - }, - "required": [ - "adGroupId", - "creative", - "landingPage", - "name", - "state" - ] - }, "SBTargetingAgeRange": { "type": "object", "properties": { @@ -5880,27 +5741,6 @@ "reason" ] }, - "OtherError": { - "description": "Errors not related to any of the other error types.", - "type": "object", - "properties": { - "reason": { - "type": "string" - }, - "cause": { - "$ref": "#/components/schemas/ErrorCause" - }, - "message": { - "description": "Human readable error message.", - "type": "string" - } - }, - "required": [ - "cause", - "message", - "reason" - ] - }, "PrimaryHeadlineRecommendationGroups": { "minItems": 0, "maxItems": 5, @@ -5910,35 +5750,6 @@ "$ref": "#/components/schemas/TextRecommendations" } }, - "UpdateAdGroup": { - "type": "object", - "properties": { - "name": { - "minLength": 1, - "description": "The name of the ad group.", - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/CreateOrUpdateEntityState" - }, - "adGroupId": { - "description": "The identifier of the keyword.", - "type": "string" - } - }, - "required": [ - "adGroupId" - ] - }, - "CreateSponsoredBrandStoreSpotlightAdsResponseContent": { - "type": "object", - "properties": { - "ads": { - "$ref": "#/components/schemas/BulkAdOperationResponse" - } - } - }, "ViolatingTextContent": { "description": "Information about the specific text that violates the specified policy in the campaign.", "type": "object", @@ -5961,6 +5772,20 @@ } } }, + "ImageSpec": { + "description": "Structure for Image specification", + "type": "object", + "properties": { + "resolution": { + "description": "Image resolution, default is 1200 x 628. New values will be added later.\n| Resolution | Value |\n|---------------|---------------|\n| 1200 x 628 | 1200 x 628 |", + "type": "string" + }, + "fileFormat": { + "description": "Valid values are PNG and JPEG, default is PNG. New values will be added later.\n| File Format | Value |\n|---------------|---------------|\n| PNG | PNG |\n| JPEG | JPEG |", + "type": "string" + } + } + }, "SuggestedHeadline": { "description": "Suggested Headline in response object.", "type": "object", @@ -5977,94 +5802,32 @@ } } }, - "UpdateSponsoredBrandsAdsRequestContent": { - "type": "object", - "properties": { - "ads": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/UpdateAd" - } - } - }, - "required": [ - "ads" - ] - }, - "ShopperSegment": { - "description": "List of bid adjustments for shopper segments.\n- NEW_TO_BRAND_PURCHASE - The shopper segment where shopper has not purchased product from the brand.", - "type": "string", - "enum": [ - "NEW_TO_BRAND_PURCHASE" - ] - }, - "SDGetAssociatedCampaignsResponse": { - "type": "object", - "properties": { - "associatedCampaigns": { - "minItems": 0, - "maxItems": 30, - "description": "A list of campaigns that are associated to this budget rule.", - "type": "array", - "items": { - "$ref": "#/components/schemas/AssociatedCampaign" - } - }, - "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.", - "type": "string" - } - } - }, - "Placement": { - "description": "List of bid adjustments for placements.\n- HOME - The Amazon home page https://www.amazon.com.\n- PAGE - A product detail page is where a customer discovers a unique product sold on Amazon.\n- OTHER - Other placement groups. Such as search page.", - "type": "string", - "enum": [ - "HOME", - "DETAIL_PAGE", - "OTHER" - ] - }, - "SBTargetingSupplySource": { - "description": "The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV.", - "type": "string", - "enum": [ - "AMAZON", - "STREAMING_VIDEO" - ] - }, - "SDHeadlineRecommendationMarsThrottlingException": { + "Placement": { + "description": "List of bid adjustments for placements.\n- HOME - The Amazon home page https://www.amazon.com.\n- PAGE - A product detail page is where a customer discovers a unique product sold on Amazon.\n- OTHER - Other placement groups. Such as search page.", + "type": "string", + "enum": [ + "HOME", + "DETAIL_PAGE", + "OTHER" + ] + }, + "ThrottlingErrorResponseContent": { "type": "object", "properties": { "code": { - "description": "ThrottledErrorCode.", - "type": "string", - "enum": [ - "THROTTLED" - ] + "$ref": "#/components/schemas/ThrottlingErrorCode" }, - "details": { - "description": "A human-readable description of the error response.", + "requestId": { "type": "string" - } - } - }, - "InternalServerExceptionResponseContent": { - "type": "object", - "properties": { - "code": { - "$ref": "#/components/schemas/InternalErrorErrorCode" }, "message": { - "description": "Human readable error message.", "type": "string" } }, "required": [ "code", - "message" + "message", + "requestId" ] }, "CreateSponsoredBrandsCampaignsResponseContent": { @@ -6075,14 +5838,6 @@ } } }, - "SDRuleType": { - "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", - "type": "string", - "enum": [ - "SCHEDULE", - "PERFORMANCE" - ] - }, "AdGroupFailureResponseItem": { "type": "object", "properties": { @@ -6106,34 +5861,6 @@ "index" ] }, - "TextComponent": { - "description": "Text component which needs to be pre moderated", - "type": "object", - "required": [ - "componentType", - "id", - "text" - ], - "properties": { - "componentType": { - "description": "Type of text component.", - "type": "string", - "enum": [ - "HEADLINE", - "BRAND_NAME", - "OTHER_TEXT" - ] - }, - "id": { - "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", - "type": "string" - }, - "text": { - "description": "Text which needs to be moderated.", - "type": "string" - } - } - }, "CreateCampaign": { "type": "object", "properties": { @@ -6143,10 +5870,6 @@ "brandEntityId": { "type": "string" }, - "portfolioId": { - "description": "The identifier of an existing portfolio to which the campaign is associated.", - "type": "string" - }, "bidding": { "$ref": "#/components/schemas/Bidding" }, @@ -6155,138 +5878,58 @@ "description": "endDate is optional. If endDate is specified, startDate must be specified as well.", "type": "string" }, - "name": { - "minLength": 1, - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/CreateOrUpdateEntityState" - }, "productLocation": { "$ref": "#/components/schemas/ProductLocation" }, - "startDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "startDate is optional. If startDate is not specified, current date will be used.", + "tags": { + "$ref": "#/components/schemas/Tags" + }, + "portfolioId": { + "description": "The identifier of an existing portfolio to which the campaign is associated.", "type": "string" }, - "budget": { - "format": "double", - "type": "number" + "costType": { + "description": "This parameter is a PREVIEW ONLY and cannot be used as part of a request. The costType can be set to determines how the campaign will bid and charge. To view the bid maximums and minimums by geography and costType, see https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace\n- CPC [Default] - Cost per click. The performance of this campaign is measured by the clicks triggered by the ad.\n- VCPM - Cost per 1000 viewable impressions. The performance of this campaign is measured by the viewable impressions triggered by the ad.", + "type": "string" }, - "tags": { - "$ref": "#/components/schemas/Tags" - } - }, - "required": [ - "budget", - "budgetType", - "name", - "state" - ] - }, - "NegativeProductExpressionType": { - "description": "The negative expression type associated with the target.", - "type": "string", - "enum": [ - "asinBrandSameAs", - "asinSameAs" - ] - }, - "ProductCollectionCreative": { - "type": "object", - "properties": { - "asins": { - "minItems": 0, - "maxItems": 3, - "uniqueItems": true, - "description": "An array of ASINs associated with the creative.", + "smartDefault": { + "minItems": 1, + "maxItems": 100, + "description": "This parameter is a PREVIEW ONLY and cannot be used as part of a request. The smartDefault specifies a list of the smart default options for the campaign.\n\n`smartDefault` is optional for create campaign requests. `smartDefault` are applicable to all applicable child entities of the campaign and are not editable once the campaign is created. When using [\"TARGETING\"], targets will be automatically added based on the outcome selected. When [\"MANUAL\"] is selected, you will still be required to manually add targets.\n\nIf you don't specify `smartDefault`, default value will be applied based on `outcome` . If campaign's `outcome` is selected, `smartDefault` will be set to [\"TARGETING\"]. Otherwise, a campaign's `smartDefault` will be set to [\"MANUAL\"].\n\nEach element in smartDefault can be set to determines which default strategy to be used\n- MANUAL - Manual settings, no smart default be applied to the campaign, if MANUAL is added in the list, no other items are allowed in the list (the list must contains only one item)\n- TARGETING - Smart Default Targeting creation, will automatically creating targetings when create ad group\n\nExample: [\"TARGETING\"]", "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" - }, - "customImageAssetId": { - "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" + "name": { + "minLength": 1, + "type": "string", + "maxLength": 128 }, - "customImageCrop": { - "$ref": "#/components/schemas/AssetCrop" + "state": { + "$ref": "#/components/schemas/CreateOrUpdateEntityState" }, - "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.", + "startDate": { + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "The name of the campaign.\nThe budget of the campaign.\nThe type of budget.\nstartDate is optional. If startDate is not specified, current date will be used.", "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" - ] - }, - "BudgetRecommendation": { - "description": "Budget recomendation for campagins.", - "type": "object", - "properties": { - "campaignId": { - "description": "The identifier of a campaign.", + "outcome": { + "description": "This parameter is a PREVIEW ONLY and cannot be used as part of a request. Outcome will allow you to set outcome type to help drive your campaign performance. If no outcome is selected then it will default to PAGE_VISIT.\nThe outcome type of the campaign.\n- BRAND_IMPRESSION_SHARE - This outcome will allow you grown your brand impression share on top of search placement\n- PAGE_VISIT [DEFAULT] - This outcome drives traffic to your landing and detail pages through all placements.", "type": "string" }, - "suggestedBudget": { + "budget": { "format": "double", - "description": "Recommended budget for the campaign.", - "type": "number" - }, - "index": { - "description": "Correlate the recommendation to the campaign index in the request. Zero-based.", "type": "number" - }, - "sevenDaysMissedOpportunities": { - "$ref": "#/components/schemas/SevenDaysMissedOpportunities" } }, "required": [ - "campaignId", - "index", - "sevenDaysMissedOpportunities", - "suggestedBudget" + "budget", + "budgetType", + "name", + "state" ] }, - "BulkAdGroupOperationResponse": { - "type": "object", - "properties": { - "success": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroupSuccessResponseItem" - } - }, - "error": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroupFailureResponseItem" - } - } - } - }, "AsinComponent": { "description": "Asin component which needs to be pre moderated.", "type": "object", @@ -6314,105 +5957,34 @@ } } }, - "CreateSponsoredBrandsAdGroupsResponseContent": { - "type": "object", - "properties": { - "adGroups": { - "$ref": "#/components/schemas/BulkAdGroupOperationResponse" - } - } - }, - "PreModerationRequest": { - "description": "Components details that needs to be sent for pre moderation.", + "ListSponsoredBrandsAdGroupsBetaRequestContent": { "type": "object", - "required": [ - "adProgram", - "locale" - ], "properties": { - "recordId": { - "description": "Id of the brand/advertiser.", - "type": "string" + "campaignIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "asinComponents": { - "maxItems": 10, - "description": "Asin components which needs to be pre moderated.", - "type": "array", - "items": { - "$ref": "#/components/schemas/AsinComponent" - } - }, - "adProgram": { - "description": "Type of Ad program to which this pre moderation components belong to.", - "type": "string", - "enum": [ - "SPONSORED_BRANDS", - "SPONSORED_BRANDS_SPOTLIGHT", - "SPONSORED_BRANDS_VIDEO", - "STORES", - "SPONSORED_DISPLAY", - "DSP", - "DSP_REC", - "DSP_IMAGE", - "DSP_THIRD_PARTY" - ] + "stateFilter": { + "$ref": "#/components/schemas/EntityStateFilter" }, - "locale": { - "description": "Specifying locale will translate the premoderation message into that locale's associated language. \n \n | Locale | Language (ISO 639) | Country (ISO 3166) | \n |-----|-----|-------| \n | ar-AE | Arabic (ar) | United Arab Emirates (AE) | \n | zh-CN | Chinese (zh) | China (CN) | \n | nl-NL | Dutch (nl) | Netherlands (NL) | \n | en-AU | English (en) | Australia (AU) | \n | en-CA | English (en) | Canada (CA) | \n | en-IN | English (en) | India (IN) | \n | en-GB | English (en) | United Kingdom (GB) | \n | en-US | English (en) | United States (US) | \n | fr-CA | French (fr) | Canada (CA) | \n | fr-FR | French (fr) | France (FR) | \n | de-DE | German (de) | Germany (DE) | \n | it-IT | Italian (it) | Italy (IT) | \n | ja-JP | Japanese (ja) | Japan (JP) | \n | ko-KR | Korean (ko) | South Korea (KR) | \n | pt-BR | Portuguese (pt) | Brazil (BR) | \n | es-ES | Spanish (es) | Spain (ES) | \n | es-US | Spanish (es) | United States (US) | \n | es-MX | Spanish (es) | Mexico (MX) | \n | tr-TR | Turkish (tr) | Turkey (TR) | \n ", - "type": "string", - "enum": [ - "ar-AE", - "zh-CN", - "nl-NL", - "en-AU", - "en-CA", - "en-IN", - "en-GB", - "en-US", - "fr-CA", - "fr-FR", - "de-DE", - "it-IT", - "ja-JP", - "ko-KR", - "pt-BR", - "es-ES", - "es-US", - "es-MX", - "tr-TR" - ] + "maxResults": { + "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", + "maximum": 100, + "type": "number", + "minimum": 1 }, - "imageComponents": { - "maxItems": 10, - "description": "Image components which needs to be pre moderated.", - "type": "array", - "items": { - "$ref": "#/components/schemas/ImageComponent" - } + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" }, - "dateComponents": { - "maxItems": 10, - "description": "Date components which needs to be pre moderated.", - "type": "array", - "items": { - "$ref": "#/components/schemas/DateComponent" - } + "adGroupIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "textComponents": { - "maxItems": 10, - "description": "Text components which needs to be pre moderated.", - "type": "array", - "items": { - "$ref": "#/components/schemas/TextComponent" - } + "includeExtendedDataFields": { + "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.", + "type": "boolean" }, - "videoComponents": { - "maxItems": 1, - "description": "Video components which needs to be pre moderated.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VideoComponent" - } + "nameFilter": { + "$ref": "#/components/schemas/NameFilter" } } }, @@ -6468,72 +6040,6 @@ "THROTTLED" ] }, - "Campaign": { - "type": "object", - "properties": { - "budgetType": { - "$ref": "#/components/schemas/BudgetType" - }, - "ruleBasedBudget": { - "$ref": "#/components/schemas/RuleBasedBudget" - }, - "brandEntityId": { - "type": "string" - }, - "isMultiAdGroupsEnabled": { - "type": "boolean" - }, - "bidding": { - "$ref": "#/components/schemas/Bidding" - }, - "endDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "The format of the date is YYYY-MM-DD.", - "type": "string" - }, - "campaignId": { - "description": "Entity object identifier.", - "type": "string" - }, - "productLocation": { - "$ref": "#/components/schemas/ProductLocation" - }, - "tags": { - "$ref": "#/components/schemas/Tags" - }, - "portfolioId": { - "description": "The identifier of an existing portfolio to which the campaign is associated.", - "type": "string" - }, - "name": { - "minLength": 1, - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/EntityState" - }, - "startDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "The format of the date is YYYY-MM-DD.", - "type": "string" - }, - "budget": { - "format": "double", - "type": "number" - }, - "extendedData": { - "$ref": "#/components/schemas/CampaignExtendedData" - } - }, - "required": [ - "budget", - "budgetType", - "campaignId", - "name", - "state" - ] - }, "AdGroupExtendedData": { "type": "object", "properties": { @@ -6544,49 +6050,21 @@ "description": "Date of last update in epoch time.", "type": "number" }, - "creationDate": { - "description": "Creation date in epoch time.", - "type": "number" - } - } - }, - "ModerationResult": { - "type": "object", - "properties": { - "versionId": { - "$ref": "#/components/schemas/VersionId" - }, - "idType": { - "$ref": "#/components/schemas/IdType" - }, - "moderationStatus": { - "$ref": "#/components/schemas/ModerationStatus" - }, - "policyViolations": { + "servingStatusDetails": { "minItems": 0, - "maxItems": 200, - "description": "A list of policy violations for a campaign that has failed moderation. Note that this field is present in the response only when moderationStatus is set to REJECTED.", + "maxItems": 100, + "description": "The serving status reasons of the Ad Group.", "type": "array", "items": { - "$ref": "#/components/schemas/PolicyViolation" + "type": "string" } }, - "etaForModeration": { - "description": "Expected date and time by which moderation will be complete. The format is ISO 8601 in UTC time zone. Note that this field is present in the response only when moderationStatus is set to IN_PROGRESS.", - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/Id" + "creationDate": { + "description": "Creation date in epoch time.", + "type": "number" } } }, - "AcceptHeader": { - "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type.", - "type": "string", - "enum": [ - "application/vnd.sbAdCreativeResource.v4+json" - ] - }, "CampaignMutationErrorSelector": { "type": "object", "properties": { @@ -6610,26 +6088,6 @@ } } }, - "StorePage": { - "type": "object", - "properties": { - "displayName": { - "description": "Display Name of the store page shown on a store spotlight campaign.", - "type": "string" - }, - "primaryAsin": { - "description": "Selected asin from the store page which is displayed on the store spotlight campaign.", - "type": "string" - } - } - }, - "ShopperSegmentType": { - "description": "The shopper segment type.", - "type": "string", - "enum": [ - "shopperSegmentNewToBrandPurchase" - ] - }, "AdGroupServingStatus": { "description": "`Notice: the servingStatus enums have not been finalized yet.`\nThe ad group serving status determined by system.\n- AD_GROUP_STATUS_ENABLED - Ad group's status is enabled.\n- AD_GROUP_PAUSED - Ad group's status is paused.\n- AD_GROUP_ARCHIVED - Ad group's status is archived.\n- AD_GROUP_INCOMPLETE - Ad group does not contain any ads or targeting clauses.\n- AD_GROUP_POLICING_PENDING_REVIEW - Ad group is pending review because of policing reason\n- AD_GROUP_POLICING_CREATIVE_REJECTED - Ad group is rejected due to creative because of policing reason\n- AD_GROUP_LOW_BID - Ad group is less than the minimum allowed bid in its marketplace\n\n- ADVERTISER_STATUS_ENABLED - Advertiser's status is enabled\n- ADVERTISER_POLICING_PENDING_REVIEW - Avertiser is pending review because of policing reason\n- ADVERTISER_POLICING_SUSPENDED - Advertiser's status is suspended because of policing reason\n- ADVERTISER_PAUSED - Advertiser's status is paused\n- ADVERTISER_ARCHIVED - Advertiser's status is archived\n- ADVERTISER_PAYMENT_FAILURE - Advertiser's internal status is suspended\n- ADVERTISER_ACCOUNT_OUT_OF_BUDGET - Advertiser is out of budget for all Sponsored Ads campaigns\n- ADVERTISER_OUT_OF_PREPAY_BALANCE - Advertiser is out of prepay balance for all Sponsored Ads campaigns\n- ADVERTISER_EXCEED_SPENDS_LIMIT - Advertiser spends over the daily limit\n\n- CAMPAIGN_STATUS_ENABLED - Campaign's (parent) status is enabled.\n- CAMPAIGN_PAUSED - Campaign's (parent) status is paused.\n- CAMPAIGN_ARCHIVED - Campaign's (parent) status is archived.\n- CAMPAIGN_INCOMPLETE - Campaign (parent) does not contain any ads or targeting clauses.\n- CAMPAIGN_OUT_OF_BUDGET - Campaign (parent) is out of budget.\n\n- PORTFOLIO_STATUS_ENABLED - Portfolio's (parent) status is enabled\n- PORTFOLIO_PAUSED - Portfolio's (parent) status is paused\n- PORTFOLIO_ARCHIVED - Portfolio's (parent) status is archived\n- PORTFOLIO_OUT_OF_BUDGET - Portfolio (parent) is out of budget\n- PORTFOLIO_PENDING_START_DATE - Portfolio's (parent) start date is in the future\n- PORTFOLIO_ENDED - Portfolio's (parent) end date is in the past.\n\n- INELIGIBLE - Ad group is ineligible.\n- ELIGIBLE - Ad group is eligible.\n- ENDED - Campaign's (parent) end date is in the past.\n- PENDING_REVIEW - Campaign (parent) is pending review.\n- PENDING_START_DATE - Campaign's (parent) start date is in the future.\n- REJECTED - Campaign (parent) is rejected by moderation process.\n- UNKNOWN - Serving status is unknown. Please contact us for support.", "type": "string", @@ -6670,51 +6128,60 @@ "UNKNOWN" ] }, - "CreateAuthorCollectionCreative": { + "SBInsightsUnprocessableEntityExceptionResponseContent": { + "description": "Returns information about an UnprocessableEntityException.", "type": "object", "properties": { - "brandLogoCrop": { - "$ref": "#/components/schemas/BrandLogoCrop" - }, - "asins": { - "minItems": 0, - "maxItems": 3, - "type": "array", - "items": { - "type": "string" - } - }, - "brandName": { - "minLength": 1, - "type": "string", - "maxLength": 30 - }, - "brandLogoAssetID": { + "code": { + "description": "The HTTP status code of the response.", "type": "string" }, - "headline": { - "minLength": 1, - "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.", - "type": "string", - "maxLength": 50 + "details": { + "description": "A human-readable description of the response.", + "type": "string" } - } + }, + "required": [ + "code", + "details" + ] }, - "UpdateSDBudgetRulesRequest": { - "description": "Request object for updating budget rule for SD campaign", + "CreateSponsoredBrandsCampaignsBetaRequestContent": { "type": "object", "properties": { - "budgetRulesDetails": { - "maxItems": 25, - "description": "A list of budget rule details.", + "campaigns": { + "minItems": 1, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/SDBudgetRule" + "$ref": "#/components/schemas/CreateCampaign" } } - } - }, - "GetSBBudgetRulesForAdvertiserResponse": { + }, + "required": [ + "campaigns" + ] + }, + "InternalServerErrorResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/InternalServerErrorCode" + }, + "requestId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message", + "requestId" + ] + }, + "GetSBBudgetRulesForAdvertiserResponse": { "type": "object", "properties": { "budgetRulesForAdvertiserResponse": { @@ -6749,135 +6216,6 @@ } } }, - "SPListAssociatedBudgetRulesResponse": { - "type": "object", - "properties": { - "associatedRules": { - "description": "A list of associated budget rules.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SPCampaignBudgetRule" - } - } - } - }, - "SDRuleBasedBudget": { - "type": "object", - "properties": { - "executionTime": { - "format": "int64", - "description": "Epoch time of budget rule execution.", - "type": "number" - }, - "appliedRule": { - "$ref": "#/components/schemas/SDBudgetRule" - }, - "ruleBasedBudgetValue": { - "description": "The budget value.", - "type": "number" - }, - "dailyBudgetValue": { - "description": "The daily budget value.", - "type": "number" - }, - "performanceMetric": { - "$ref": "#/components/schemas/PerformanceMetricValue" - } - } - }, - "AdGroup": { - "type": "object", - "properties": { - "campaignId": { - "description": "The identifier of the campaign to which the keyword is associated.", - "type": "string" - }, - "name": { - "minLength": 1, - "description": "The name of the ad group.", - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/EntityState" - }, - "adGroupId": { - "description": "The identifier of the keyword.", - "type": "string" - }, - "extendedData": { - "$ref": "#/components/schemas/AdGroupExtendedData" - } - }, - "required": [ - "adGroupId", - "campaignId", - "name", - "state" - ] - }, - "UpdateSponsoredBrandsAdsResponseContent": { - "type": "object", - "properties": { - "ads": { - "$ref": "#/components/schemas/BulkAdOperationResponse" - } - } - }, - "UpdateCampaign": { - "type": "object", - "properties": { - "portfolioId": { - "description": "The identifier of an existing portfolio to which the campaign is associated.", - "type": "string" - }, - "bidding": { - "$ref": "#/components/schemas/Bidding" - }, - "endDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "endDate is optional. If endDate is specified, startDate must be specified as well.", - "type": "string" - }, - "campaignId": { - "description": "Entity object identifier.", - "type": "string" - }, - "name": { - "minLength": 1, - "description": "The name of the campaign.", - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/CreateOrUpdateEntityState" - }, - "startDate": { - "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", - "description": "startDate can only be changed if the current startDate is in the future.", - "type": "string" - }, - "budget": { - "format": "double", - "description": "The budget of the campaign. See https://advertising.amazon.com/help?entityId=ENTITYJDATFOIA05Q7#GE5QEBS6QRJJAT3A", - "type": "number" - }, - "tags": { - "$ref": "#/components/schemas/Tags" - } - }, - "required": [ - "campaignId" - ] - }, - "DeleteSponsoredBrandsAdGroupsResponseContent": { - "type": "object", - "properties": { - "adGroups": { - "$ref": "#/components/schemas/BulkAdGroupOperationResponse" - } - } - }, "InvalidArgumentErrorSelector": { "type": "object", "properties": { @@ -6889,32 +6227,6 @@ } } }, - "QueryTermMatchType": { - "description": "Defines how would the string resource field (e.g. campaign name, ad group name) be matched with the query term in filter.", - "type": "string", - "enum": [ - "BROAD_MATCH", - "EXACT_MATCH" - ] - }, - "SPGetAssociatedCampaignsResponse": { - "type": "object", - "properties": { - "associatedCampaigns": { - "minItems": 0, - "maxItems": 30, - "description": "A list of campaigns that are associated to this budget rule.", - "type": "array", - "items": { - "$ref": "#/components/schemas/AssociatedCampaign" - } - }, - "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.", - "type": "string" - } - } - }, "PreModerationResponse": { "description": "Information regarding the policy violations if present for the components, sent for pre moderation.", "type": "object", @@ -7004,20 +6316,6 @@ } } }, - "CreateProductCollectionCreativeResponseContent": { - "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" - } - } - }, "SBTargetingPriceRange": { "description": "A range of prices. We use this to retrieve the number of targetable ASINs that falls within this price range.", "type": "object", @@ -7032,18 +6330,18 @@ } } }, - "DayOfWeek": { - "description": "The day of the week.", - "type": "string", - "enum": [ - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ] + "Submitted": { + "type": "object", + "properties": { + "index": { + "description": "The index of the image task in the array from the request body", + "type": "number" + }, + "taskId": { + "description": "The identifier of image generation task", + "type": "string" + } + } }, "UpdateBudgetRulesResponse": { "type": "object", @@ -7078,7 +6376,7 @@ "minLength": 1, "description": "The name of the ad group.", "type": "string", - "maxLength": 128 + "maxLength": 255 }, "state": { "$ref": "#/components/schemas/CreateOrUpdateEntityState" @@ -7090,148 +6388,41 @@ "state" ] }, - "ModerationResultsAdProgramType": { - "description": "The program type of the ad.", - "type": "string", - "enum": [ - "SB_PRODUCT_COLLECTION", - "SB_STORE_SPOTLIGHT", - "SB_VIDEO", - "SPONSORED_PRODUCTS" + "CreateSponsoredBrandsProductCollectionAdsBetaRequestContent": { + "type": "object", + "properties": { + "ads": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateProductCollectionAd" + } + } + }, + "required": [ + "ads" ] }, - "CreativeRecommendationsBadRequestError": { + "RequiredRecommendations": { "type": "object", + "required": [ + "type" + ], "properties": { - "code": { - "description": "Bad request error code.", + "maxRecommendationGroups": { + "format": "int32", + "description": "Maximum number of recommendations groups that API should return for given type. (recommendations are not guaranteed).", + "maximum": 5, + "type": "integer", + "minimum": 1 + }, + "type": { + "description": "Type of recommendations.", "type": "string", "enum": [ - "BAD_REQUEST" - ] - }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } - }, - "SBTargetingUnprocessableEntityExceptionResponseContent": { - "description": "Returns information about an UnprocessableEntityException.", - "type": "object", - "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" - } - }, - "required": [ - "code", - "details" - ] - }, - "VideoPosition": { - "type": "object", - "properties": { - "start": { - "format": "int64", - "description": "Start time of the video having the policy violation.", - "type": "integer" - }, - "end": { - "format": "int64", - "description": "End time of the video having the policy violation.", - "type": "integer" - } - } - }, - "ModerationStatus": { - "description": "The moderation status of the ad.", - "type": "string", - "enum": [ - "APPROVED", - "IN_PROGRESS", - "REJECTED", - "FAILED" - ] - }, - "SBTargetingAccessDeniedExceptionResponseContent": { - "description": "Returns information about an AccessDeniedException.", - "type": "object", - "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" - } - }, - "required": [ - "code", - "details" - ] - }, - "CreativeRecommendationsRequest": { - "description": "Request structure of creative recommendations API.", - "type": "object", - "required": [ - "asins", - "requiredRecommendations", - "adFormat" - ], - "properties": { - "asins": { - "minItems": 1, - "maxItems": 3, - "description": "An array of ASINs associated with the creative. Note, do not pass an empty array, this results in an error.", - "type": "array", - "items": { - "type": "string" - } - }, - "adFormat": { - "description": "Ad format of the creative.", - "type": "string", - "enum": [ - "SPONSORED_BRANDS_VIDEO" - ] - }, - "requiredRecommendations": { - "minItems": 1, - "maxItems": 2, - "description": "Required recommendations details.", - "type": "array", - "items": { - "$ref": "#/components/schemas/RequiredRecommendations" - } - } - } - }, - "RequiredRecommendations": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "maxRecommendationGroups": { - "format": "int32", - "description": "Maximum number of recommendations groups that API should return for given type. (recommendations are not guaranteed).", - "maximum": 5, - "type": "integer", - "minimum": 1 - }, - "type": { - "description": "Type of recommendations.", - "type": "string", - "enum": [ - "PRIMARY_HEADLINE", - "SECONDARY_HEADLINE" + "PRIMARY_HEADLINE", + "SECONDARY_HEADLINE" ] } } @@ -7252,13 +6443,6 @@ } } }, - "BudgetChangeType": { - "description": "The value by which to update the budget of the budget rule.", - "type": "string", - "enum": [ - "PERCENT" - ] - }, "SDBudgetRuleDetails": { "description": "Object representing details of a budget rule for SD campaign", "type": "object", @@ -7285,50 +6469,6 @@ } } }, - "ProductLocation": { - "description": "The product location of the campaign.\n- SOLD_ON_AMAZON - For products sold on Amazon websites.\n- NOT_SOLD_ON_AMAZON - For products not sold on Amazon websites.\n- SOLD_ON_DTC - For products sold on DTC websites.", - "type": "string", - "enum": [ - "SOLD_ON_AMAZON", - "NOT_SOLD_ON_AMAZON", - "SOLD_ON_DTC" - ] - }, - "SBTargetingGenre": { - "type": "object", - "properties": { - "genreRefinementId": { - "description": "Id of Genre. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Refinement IDs.", - "type": "string" - }, - "name": { - "description": "Name of Genre.", - "type": "string" - }, - "translatedName": { - "description": "Translated name of Genre based off locale sent in request.", - "type": "string" - } - }, - "required": [ - "genreRefinementId" - ] - }, - "ConflictStateExceptionResponseContent": { - "type": "object", - "properties": { - "code": { - "$ref": "#/components/schemas/ConflictStateErrorCode" - }, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ] - }, "HeadlineSuggestionRequest": { "description": "Request structure of headline suggestion API.", "type": "object", @@ -7374,71 +6514,37 @@ } } }, - "CreativeRecommendationsNotFoundError": { - "type": "object", - "properties": { - "code": { - "description": "Not found error code.", - "type": "string", - "enum": [ - "NOT_FOUND" - ] - }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } - }, - "UpdateSponsoredBrandsAdGroupsResponseContent": { - "type": "object", - "properties": { - "adGroups": { - "$ref": "#/components/schemas/BulkAdGroupOperationResponse" - } - } - }, - "GetSPBudgetRulesForAdvertiserResponse": { + "SBInsightsAdGroup": { + "description": "The ad group settings.", "type": "object", "properties": { - "budgetRulesForAdvertiserResponse": { + "keywords": { "minItems": 0, - "maxItems": 30, - "description": "A list of rules created by the advertiser.", + "maxItems": 800, "type": "array", "items": { - "$ref": "#/components/schemas/SPBudgetRule" + "$ref": "#/components/schemas/SBInsightsKeyword" } }, - "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.", - "type": "string" - } - } - }, - "ValidationExceptionResponseContent": { - "type": "object", - "properties": { - "code": { - "$ref": "#/components/schemas/InvalidArgumentErrorCode" - }, - "message": { - "description": "Human readable error message.", - "type": "string" + "adFormat": { + "$ref": "#/components/schemas/SBInsightsAdFormat" } }, "required": [ - "code", - "message" + "adFormat" ] }, "VideoCreative": { "type": "object", "properties": { + "consentToTranslate": { + "description": "If set to true and video asset is not in the marketplace's default language, Amazon will attempt to translate the video to the marketplace's default language.\nIf Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information.", + "type": "boolean" + }, "videoAssetIds": { "minItems": 1, "maxItems": 1, - "description": "An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API.", + "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then 'videoAssetIds' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId.", "type": "array", "items": { "description": "The identifier of image/video asset from the store's asset library", @@ -7450,83 +6556,47 @@ "videoAssetIds" ] }, - "CreativeRecommendationsInternalServerError": { - "type": "object", - "properties": { - "code": { - "description": "Internal error code.", - "type": "string", - "enum": [ - "INTERNAL_ERROR" - ] - }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } + "SBRuleType": { + "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", + "type": "string", + "enum": [ + "SCHEDULE", + "PERFORMANCE" + ] }, - "AdMutationError": { + "ListSponsoredBrandsCampaignsBetaRequestContent": { "type": "object", "properties": { - "errorType": { - "description": "The type of the error.", - "type": "string" + "campaignIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "errorValue": { - "$ref": "#/components/schemas/AdMutationErrorSelector" - } - }, - "required": [ - "errorType", - "errorValue" - ] - }, - "ProductExpression": { - "description": "Expression settings for the target.", - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/ProductExpressionType" + "portfolioIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "value": { - "description": "The expression value associated with targets.", - "type": "string" - } - } - }, - "SBRuleType": { - "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", - "type": "string", - "enum": [ - "SCHEDULE", - "PERFORMANCE" - ] - }, - "SBTargetingUnauthorizedExceptionResponseContent": { - "description": "Returns information about an UnauthorizedException.", - "type": "object", - "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" + "stateFilter": { + "$ref": "#/components/schemas/EntityStateFilter" }, - "details": { - "description": "A human-readable description of the response.", + "maxResults": { + "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", + "maximum": 100, + "type": "number", + "minimum": 1 + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", "type": "string" + }, + "includeExtendedDataFields": { + "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.", + "type": "boolean" + }, + "nameFilter": { + "$ref": "#/components/schemas/NameFilter" + }, + "outcomeTypeFilter": { + "$ref": "#/components/schemas/OutcomeTypeFilter" } - }, - "required": [ - "code", - "details" - ] - }, - "PerformanceMetricForSB": { - "description": "The advertising performance metric.", - "type": "string", - "enum": [ - "ROAS" - ] + } }, "BudgetUsageCampaignBatchError": { "type": "object", @@ -7562,34 +6632,6 @@ } } }, - "BudgetRecommendationError": { - "description": "Error that occurred when generating budget recommendations.", - "type": "object", - "properties": { - "code": { - "description": "A human-readable description of the enumerated response code in the `code` field.", - "type": "string" - }, - "campaignId": { - "description": "The identifier of a campaign.", - "type": "string" - }, - "index": { - "description": "Correlate the recommendation to the campaign index in the request. Zero-based.", - "type": "number" - }, - "details": { - "description": "An enumerated response code.", - "type": "string" - } - }, - "required": [ - "campaignId", - "code", - "details", - "index" - ] - }, "GetBudgetRecommendationsResponseContent": { "type": "object", "properties": { @@ -7646,35 +6688,6 @@ } } }, - "RecurrenceType": { - "description": "depicts the type of recurrence", - "type": "string", - "enum": [ - "DAILY", - "WEEKLY" - ] - }, - "BudgetUsagePortfolioBatchError": { - "type": "object", - "properties": { - "portfolioId": { - "description": "ID of requested resource", - "type": "string" - }, - "code": { - "description": "An enumerated error code for machine use.", - "type": "string" - }, - "index": { - "description": "An index to maintain order of the portfolioIds", - "type": "number" - }, - "details": { - "description": "A human-readable description of the response.", - "type": "string" - } - } - }, "ViolatingAsinContent": { "type": "object", "properties": { @@ -7702,7 +6715,7 @@ "minLength": 1, "description": "The name of the ad.", "type": "string", - "maxLength": 128 + "maxLength": 255 }, "state": { "$ref": "#/components/schemas/CreateOrUpdateEntityState" @@ -7723,21 +6736,7 @@ "state" ] }, - "BudgetUsagePortfolioRequest": { - "type": "object", - "properties": { - "portfolioIds": { - "minItems": 1, - "maxItems": 100, - "description": "A list of portfolio IDs.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CreateSponsoredBrandsVideoAdsRequestContent": { + "UpdateSponsoredBrandsAdsBetaRequestContent": { "type": "object", "properties": { "ads": { @@ -7745,7 +6744,7 @@ "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/CreateVideoAd" + "$ref": "#/components/schemas/UpdateAd" } } }, @@ -7760,12 +6759,37 @@ "AD_ID" ] }, - "SBTargetingGetTargetableASINCountsResponseContent": { - "description": "Response object for /sb/targets/products/count to get number of targetable asins for refinements provided by the user", + "SBInsightsThrottlingExceptionResponseContent": { + "description": "Returns information about a ThrottlingException.", "type": "object", "properties": { - "asinCounts": { - "$ref": "#/components/schemas/SBTargetingIntegerRange" + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "BrandLogo": { + "description": "Properties associated with Brand Logo.", + "type": "object", + "properties": { + "brandLogoCrop": { + "$ref": "#/components/schemas/AssetCrop" + }, + "brandLogoUrl": { + "type": "string" + }, + "brandLogoAssetId": { + "description": "The identifier of image/video asset from the store's asset library", + "type": "string" } } }, @@ -7819,124 +6843,143 @@ } } }, - "BudgetRuleResponse": { + "DeleteSponsoredBrandsAdsRequestContent": { "type": "object", "properties": { - "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" - }, - "ruleId": { - "description": "The rule identifier.", - "type": "string" - }, - "associatedCampaignIds": { - "type": "array", - "items": { - "description": "The campaign identifier for which rule based budget may get updated", - "type": "string" - } + "adIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" } } }, - "ProductTarget": { - "description": "The target associated with the ad group. `expressions` must contain at least one of `ASIN_CATEGORY_SAME_AS`, `ASIN_BRAND_SAME_AS`, or `ASIN_SAME_AS`. Only `ASIN_CATEGORY_SAME_AS` expression may be grouped with other options.", + "Id": { + "description": "The unique identifier of the ad which can be obtained after the ad is created using create APIs.", + "type": "string" + }, + "CreativeLandingPageType": { + "description": "Landing page type", + "type": "string", + "enum": [ + "PRODUCT_LIST", + "STORE", + "DETAIL_PAGE", + "CUSTOM_URL", + "AD_LANDING_PREVIEW", + "SEARCH", + "BROWSE", + "ADVERTISING_LANDING_PAGE", + "UNKNOWN" + ] + }, + "SPBudgetRuleDetails": { + "description": "Object representing details of a budget rule for SP campaign", "type": "object", "properties": { - "bid": { - "format": "float", - "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).", - "type": "number" + "duration": { + "$ref": "#/components/schemas/RuleDuration" }, - "expressions": { - "minItems": 0, - "maxItems": 9, - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductExpression" - } + "recurrence": { + "$ref": "#/components/schemas/Recurrence" + }, + "ruleType": { + "$ref": "#/components/schemas/SPRuleType" + }, + "budgetIncreaseBy": { + "$ref": "#/components/schemas/budgetIncreaseBy" + }, + "name": { + "description": "The budget rule name. Required to be unique within a campaign.", + "type": "string", + "maxLength": 355 + }, + "performanceMeasureCondition": { + "$ref": "#/components/schemas/PerformanceMeasureCondition" } } }, - "DeleteSponsoredBrandsAdsRequestContent": { + "GetSDBudgetRuleResponse": { "type": "object", "properties": { - "adIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" + "budgetRule": { + "$ref": "#/components/schemas/SDBudgetRule" } } }, - "ModerationResultsResponse": { + "StoreSpotlightCreative": { "type": "object", "properties": { - "moderationResults": { - "minItems": 1, - "maxItems": 10, + "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" + }, + "subpages": { + "description": "An array of subpages", "type": "array", "items": { - "$ref": "#/components/schemas/ModerationResult" + "$ref": "#/components/schemas/Subpage" } }, - "nextToken": { - "$ref": "#/components/schemas/NextToken" - } - } + "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": [ + "brandLogoAssetId", + "brandName", + "headline", + "subpages" + ] }, - "NegativeProductTarget": { - "description": "The negative target associated with the ad group.", + "SDHeadlineRecommendationIdentifierNotfoundException": { "type": "object", "properties": { - "expressions": { - "minItems": 0, - "maxItems": 1, - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeProductExpression" - } + "code": { + "description": "IdentiferNotFoundErrorCode.", + "type": "string", + "enum": [ + "IDENTIFIER_NOT_FOUND" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" } } }, - "Id": { - "description": "The unique identifier of the ad which can be obtained after the ad is created using create APIs.", - "type": "string" - }, - "GetBudgetRecommendationsRequestContent": { + "CreateSponsoredBrandsAdGroupsBetaResponseContent": { "type": "object", "properties": { - "campaignIds": { - "minItems": 1, - "maxItems": 100, - "description": "List of CampaignIds", - "type": "array", - "items": { - "description": "The identifier of a campaign.", - "type": "string" - } + "adGroups": { + "$ref": "#/components/schemas/BulkAdGroupOperationResponse" } - }, - "required": [ - "campaignIds" - ] + } }, - "BudgetUsageCampaignRequest": { + "CreativeImageRecommendationResponseContent": { "type": "object", "properties": { - "campaignIds": { - "minItems": 1, - "maxItems": 100, - "description": "A list of campaign IDs", + "totalResults": { + "description": "The total number of results returned by an operation.", + "type": "number" + }, + "recommendations": { + "minItems": 0, + "maxItems": 20, + "description": "Recommendations are sorted on relevancy score, i.e. more relevant image has lesser array index value", "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CreativeImageRecommendationEntry" } } } }, - "CreateProductCollectionCreativeRequestContent": { + "CreateBrandVideoCreativeRequestContent": { "type": "object", "properties": { "adId": { @@ -7944,7 +6987,7 @@ "type": "string" }, "creative": { - "$ref": "#/components/schemas/ProductCollectionCreative" + "$ref": "#/components/schemas/BrandVideoCreative" } }, "required": [ @@ -7952,157 +6995,58 @@ "creative" ] }, - "CreativeLandingPageType": { - "description": "Landing page type", - "type": "string", - "enum": [ - "PRODUCT_LIST", - "STORE", - "CUSTOM_URL", - "DETAIL_PAGE" - ] - }, - "PerformanceMeasureCondition": { - "type": "object", - "required": [ - "comparisonOperator", - "metricName", - "threshold" - ], - "properties": { - "metricName": { - "$ref": "#/components/schemas/PerformanceMetric" - }, - "comparisonOperator": { - "$ref": "#/components/schemas/ComparisonOperator" - }, - "threshold": { - "format": "double", - "description": "The performance threshold value.", - "type": "number" - } - } - }, - "ProductExpressionType": { - "description": "The expression type associated with the target.", - "type": "string", - "enum": [ - "asinCategorySameAs", - "asinBrandSameAs", - "asinPriceLessThan", - "asinPriceBetween", - "asinPriceGreaterThan", - "asinReviewRatingLessThan", - "asinReviewRatingBetween", - "asinReviewRatingGreaterThan", - "asinSameAs" - ] - }, - "SPBudgetRuleDetails": { - "description": "Object representing details of a budget rule for SP campaign", - "type": "object", - "properties": { - "duration": { - "$ref": "#/components/schemas/RuleDuration" - }, - "recurrence": { - "$ref": "#/components/schemas/Recurrence" - }, - "ruleType": { - "$ref": "#/components/schemas/SPRuleType" - }, - "budgetIncreaseBy": { - "$ref": "#/components/schemas/budgetIncreaseBy" - }, - "name": { - "description": "The budget rule name. Required to be unique within a campaign.", - "type": "string", - "maxLength": 355 - }, - "performanceMeasureCondition": { - "$ref": "#/components/schemas/PerformanceMeasureCondition" - } - } - }, - "GetSDBudgetRuleResponse": { - "type": "object", - "properties": { - "budgetRule": { - "$ref": "#/components/schemas/SDBudgetRule" - } - } - }, - "ModerationResultsAccessDeniedError": { + "ListImageTasksRequestContent": { "type": "object", "properties": { - "code": { - "description": "Access denied error code.", - "type": "string", - "enum": [ - "ACCESS_DENIED" - ] + "statusFilter": { + "$ref": "#/components/schemas/StatusFilter" }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } - }, - "StoreSpotlightCreative": { - "type": "object", - "properties": { - "brandLogoCrop": { - "$ref": "#/components/schemas/AssetCrop" + "maxResults": { + "maximum": 10, + "type": "number", + "minimum": 1 }, - "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.", + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.", "type": "string" }, - "subpages": { - "description": "An array of subpages", - "type": "array", - "items": { - "$ref": "#/components/schemas/Subpage" - } - }, - "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" + "taskIdFilter": { + "$ref": "#/components/schemas/TaskIdFilter" }, - "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.", + "batchId": { "type": "string" } }, "required": [ - "brandLogoAssetId", - "brandName", - "headline", - "subpages" + "batchId" ] }, - "SDHeadlineRecommendationIdentifierNotfoundException": { + "BudgetUsageError": { + "description": "The Error Response Object.", "type": "object", "properties": { "code": { - "description": "IdentiferNotFoundErrorCode.", - "type": "string", - "enum": [ - "IDENTIFIER_NOT_FOUND" - ] + "description": "An enumerated error code for machine use.", + "type": "string" }, "details": { - "description": "A human-readable description of the error response.", + "description": "A human-readable description of the response.", "type": "string" } } }, - "VideoComponentResponse": { - "description": "Pre moderation result for a video component", + "NotFoundErrorCode": { + "type": "string", + "enum": [ + "NOT_FOUND" + ] + }, + "DateComponentResponse": { + "description": "Pre-moderation result for a date component", "type": "object", "properties": { "preModerationStatus": { - "description": "The pre moderation status of the component.", + "description": "The pre-moderation status of the component.", "type": "string", "enum": [ "REJECTED", @@ -8112,254 +7056,3787 @@ ] }, "componentType": { - "description": "Type of the video component.", + "description": "Type of the date component.", "type": "string", "enum": [ - "SPONSORED_BRANDS_VIDEO", - "OTHER_VIDEO" + "CAMPAIGN_DATES" ] }, - "landingPage": { - "$ref": "#/components/schemas/LandingPage" + "endDate": { + "description": "End date of the component.", + "type": "string" }, "policyViolations": { "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", "type": "array", "items": { - "$ref": "#/components/schemas/VideoPolicyViolation" + "$ref": "#/components/schemas/DatePolicyViolation" } }, "id": { "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", "type": "string" }, - "url": { - "description": "Publicly accessible url of the video that got pre moderated.", + "startDate": { + "description": "Start date of the component.", "type": "string" } } }, - "CreateBrandVideoCreativeRequestContent": { + "VideoComponent": { + "description": "Video component which needs to be pre moderated. A publicly accessible videoUrl must be sent.", "type": "object", + "required": [ + "componentType", + "id", + "url" + ], "properties": { - "adId": { - "description": "The unique ID of a Sponsored Brands ad.", + "componentType": { + "description": "Type of the video component.", + "type": "string", + "enum": [ + "SPONSORED_BRANDS_VIDEO", + "OTHER_VIDEO" + ] + }, + "landingPage": { + "$ref": "#/components/schemas/LandingPage" + }, + "id": { + "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", "type": "string" }, - "creative": { - "$ref": "#/components/schemas/BrandVideoCreative" + "url": { + "description": "Url of the video to be pre moderated. The url must be publicly accessible.", + "type": "string" } - }, - "required": [ - "adId", - "creative" - ] + } }, - "Subpage": { + "VideoEvidence": { + "description": "Structure of a video evidence", "type": "object", "properties": { - "pageTitle": { - "type": "string" - }, - "asin": { - "type": "string" + "start": { + "description": "The start position (in seconds) of the content that violates the specified policy within the video.", + "type": "integer" }, - "url": { - "type": "string" + "end": { + "description": "The end position (in seconds) of the content that violates the specified policy within the video.", + "type": "integer" } } }, - "RecommendedHeadline": { - "description": "Recommended Headline in response object. Recommended headline will be locale specific, i.e. for an asin input in ES, Recommended headline will be in ES.", + "UpdateSponsoredBrandsAdsBetaResponseContent": { "type": "object", "properties": { - "headlineId": { - "description": "Unique Id of Recommended headline.", - "type": "string", - "example": "e991e32c-0136-427a-843b-ff04162f2f91" - }, - "headline": { - "description": "String that contains Recommended headline.", - "type": "string", - "maxLength": 50, - "example": "This is a Recommended headline." + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" } } }, - "BudgetUsageError": { - "description": "The Error Response Object.", + "ModerationResultsNotFoundError": { "type": "object", "properties": { "code": { - "description": "An enumerated error code for machine use.", - "type": "string" + "description": "Not found error code.", + "type": "string", + "enum": [ + "NOT_FOUND" + ] }, "details": { - "description": "A human-readable description of the response.", + "description": "A human-readable description of the error response.", "type": "string" } } }, - "SBTargetingRatingRange": { - "description": "Rating range is restricted to integers between 0 and 5, inclusive. Min must be less than or equal to max. We use this to retrieve the number of targetable ASINs that falls within this rating range.", + "CreateOrUpdateEntityState": { + "description": "Entity state for create or update operation.", + "type": "string", + "enum": [ + "ENABLED", + "PAUSED" + ] + }, + "SBTargetingLocale": { + "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace.", + "type": "string", + "enum": [ + "ar_AE", + "de_DE", + "en_AE", + "en_AU", + "en_CA", + "en_GB", + "en_IN", + "en_SG", + "en_US", + "es_ES", + "es_MX", + "fr_CA", + "fr_FR", + "hi_IN", + "it_IT", + "ja_JP", + "ko_KR", + "nl_NL", + "pl_PL", + "pt_BR", + "sv_SE", + "ta_IN", + "th_TH", + "tr_TR", + "vi_VN", + "zh_CN" + ] + }, + "CreateSponsoredBrandsCampaignsRequestContent": { "type": "object", "properties": { - "min": { - "maximum": 5, - "type": "integer", - "minimum": 0 - }, - "max": { - "maximum": 5, - "type": "integer", - "minimum": 0 + "campaigns": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateCampaign" + } } - } + }, + "required": [ + "campaigns" + ] }, - "NotFoundErrorCode": { + "EntityState": { + "description": "The current resource state.", "type": "string", "enum": [ - "NOT_FOUND" + "ENABLED", + "PAUSED", + "ARCHIVED" ] }, - "ImageEvidence": { - "description": "Structure of a image evidence", + "ListImageTasksResponseContent": { "type": "object", "properties": { - "topLeftY": { - "description": "The top left Y-coordinate of the content that violates the specfied policy within the image.", - "type": "integer" + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.", + "type": "string" }, - "topLeftX": { - "description": "The top left X-coordinate of the content that violates the specfied policy within the image.", - "type": "integer" + "imageTaskList": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageTask" + } }, - "width": { - "description": "The width of the content that violates the specfied policy within the image.", - "type": "integer" + "batchId": { + "type": "string" }, - "height": { - "description": "The height of the content that violates the specfied policy within the image.", - "type": "integer" + "totalCount": { + "type": "number" } } }, - "DateComponentResponse": { - "description": "Pre-moderation result for a date component", + "NotFoundExceptionResponseContent": { "type": "object", "properties": { - "preModerationStatus": { - "description": "The pre-moderation status of the component.", - "type": "string", - "enum": [ - "REJECTED", - "APPROVED", - "FAILED", - "RETRYABLE_FAILURE" - ] - }, - "componentType": { - "description": "Type of the date component.", - "type": "string", - "enum": [ - "CAMPAIGN_DATES" - ] + "code": { + "$ref": "#/components/schemas/NotFoundErrorCode" }, - "endDate": { - "description": "End date of the component.", + "message": { "type": "string" - }, - "policyViolations": { - "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", + } + }, + "required": [ + "code", + "message" + ] + }, + "GetSDBudgetRulesForAdvertiserResponse": { + "type": "object", + "properties": { + "budgetRulesForAdvertiserResponse": { + "minItems": 0, + "maxItems": 30, + "description": "A list of rules created by the advertiser.", "type": "array", "items": { - "$ref": "#/components/schemas/DatePolicyViolation" + "$ref": "#/components/schemas/SDBudgetRule" } }, - "id": { - "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", - "type": "string" - }, - "startDate": { - "description": "Start date of the component.", + "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.", "type": "string" } } }, - "SBTargetingGetNegativeBrandsResponseContent": { - "description": "Response object for /sb/negativeTargets/brands/recommendations containing list of brands for negative targeting.", + "CreateSponsoredBrandsCampaignsBetaResponseContent": { "type": "object", "properties": { - "brands": { + "campaigns": { + "$ref": "#/components/schemas/BulkCampaignOperationResponse" + } + } + }, + "NameFilter": { + "description": "Filter entities by name.", + "type": "object", + "properties": { + "queryTermMatchType": { + "$ref": "#/components/schemas/QueryTermMatchType" + }, + "include": { + "minItems": 0, "maxItems": 100, - "description": "List of Brands.", "type": "array", "items": { - "$ref": "#/components/schemas/SBTargetingBrand" + "type": "string" } + } + } + }, + "AccessDeniedErrorResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/AccessDeniedErrorCode" }, - "nextToken": { - "description": "Operations that return paginated results include a pagination token in this field. 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.", + "requestId": { + "type": "string" + }, + "message": { "type": "string" } - } + }, + "required": [ + "code", + "message", + "requestId" + ] }, - "ImageComponent": { - "description": "Image component which needs to be pre moderated. A publicly accessible imageUrl must be sent.", + "DateComponent": { + "description": "Date component which needs to be pre moderated. Either startDate or endDate must be populated, or both can be populated.", "type": "object", "required": [ "componentType", - "id", - "url" + "id" ], "properties": { "componentType": { - "description": "Type of the image component.", + "description": "Type of the date component.", "type": "string", "enum": [ - "BRAND_LOGO", - "CUSTOM_IMAGE", - "OTHER_IMAGE" + "CAMPAIGN_DATE" ] }, - "landingPage": { - "$ref": "#/components/schemas/LandingPage" + "endDate": { + "description": "End date of the component in yyyy-MM-dd HH:mm:ss format", + "type": "string" }, "id": { "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", "type": "string" }, - "url": { - "description": "Url of the image to be pre moderated. The url must be publicly accessible.", + "startDate": { + "description": "Start date of the component in yyyy-MM-dd HH:mm:ss format", "type": "string" } } }, - "CreateSponsoredBrandsProductCollectionAdsRequestContent": { + "SBKeywordRecommendationThemeKeyword": { "type": "object", "properties": { - "ads": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateProductCollectionAd" + "recommendationId": { + "description": "Unique ID for each recommendation.", + "type": "string" + }, + "value": { + "description": "Recommended keyword value.", + "type": "string" + } + } + }, + "CreateSponsoredBrandsBrandVideoAdsBetaResponseContent": { + "type": "object", + "properties": { + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" + } + } + }, + "Theme": { + "description": "Structure for theme details", + "type": "object", + "properties": { + "themeForDisplay": { + "type": "string" + }, + "themeId": { + "type": "string" + } + }, + "required": [ + "themeForDisplay", + "themeId" + ] + }, + "ImageCrop": { + "type": "object", + "properties": { + "topLeftY": { + "format": "int64", + "description": "Policy violated region's top left Y-axis pixel value.", + "type": "integer" + }, + "topLeftX": { + "format": "int64", + "description": "Policy violated region's top left X-axis pixel value.", + "type": "integer" + }, + "width": { + "format": "int64", + "description": "Policy violated region's width in pixel.", + "type": "integer" + }, + "height": { + "format": "int64", + "description": "Policy violated region's height in pixel.", + "type": "integer" + } + } + }, + "ImageTaskMetadata": { + "type": "object", + "properties": { + "imageSpec": { + "$ref": "#/components/schemas/ImageSpec" + }, + "maxResults": { + "description": "Optional. An upper bound for number of image results for this set of metadata. Default value is 4.", + "type": "number" + }, + "themeId": { + "description": "Optional.", + "type": "string" + }, + "asin": { + "description": "Required. The product that is shown in AI image.", + "type": "string" + }, + "prompt": { + "description": "Optional. Open text prompt", + "type": "string", + "maxLength": 1024 + }, + "productImageAssetId": { + "description": "Optional. Source image provided by advertiser and they are registered in Asset Library", + "type": "string" + } + }, + "required": [ + "asin" + ] + }, + "SBTargetingInternalServerExceptionResponseContent": { + "description": "Returns information about an InternalServerException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "SBKeywordRecommendationRequestUrl": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "creativeType": { + "$ref": "#/components/schemas/SBKeywordRecommendationCreativeType" + }, + "maxNumSuggestions": { + "format": "int64", + "description": "Maximum number of suggestions to return. Max value is 1000. If not provided, default to 100.", + "type": "integer" + }, + "creativeAsins": { + "type": "array", + "items": { + "description": "Optional. An array of creative ASINs that are displayed in the SB creative.", + "maximum": 3, + "type": "string", + "minimum": 0 + } + }, + "locale": { + "description": "Optional locale to request keyword suggestion translations. For example, to request Simplified Chinese translations in US, provide locale “zh_CN”. Response will include both keyword suggestions and their translations. Supported locales include: Simplified Chinese (locale: “zh_CN”) for US, UK and CA. English (locale: “en_GB”) for DE, FR, IT and ES.", + "type": "string" + }, + "url": { + "description": "The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page.", + "type": "string" + } + } + }, + "BrandVideoCreative": { + "type": "object", + "properties": { + "asins": { + "minItems": 1, + "maxItems": 3, + "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" + }, + "consentToTranslate": { + "description": "If set to true and video asset is not in the marketplace's default language, Amazon will attempt to translate the video to the marketplace's default language.\nIf Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information.", + "type": "boolean" + }, + "videoAssetIds": { + "minItems": 1, + "maxItems": 1, + "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then 'videoAssetIds' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId.", + "type": "array", + "items": { + "description": "The identifier of image/video asset from the store's asset library", + "type": "string" + } + }, + "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", + "videoAssetIds" + ] + }, + "ListCreativesRequestContent": { + "type": "object", + "properties": { + "creativeTypeFilter": { + "uniqueItems": true, + "description": "Filters creatives by optional creative type.\nBy default, you can list all creative versions regardless of creative type.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreativeType" + } + }, + "adId": { + "description": "The unique ID of a Sponsored Brands ad.", + "type": "string" + }, + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.", + "type": "string" + }, + "maxResults": { + "description": "Set a limit on the number of results returned by an operation.", + "maximum": 100, + "type": "number", + "minimum": 1 + }, + "creativeVersionFilter": { + "maxItems": 100, + "uniqueItems": true, + "description": "Filters creatives by optional creative version.\nThis means you can either list all creative versions without specific creative version filter, all just retrieve a single creative version by providing a specific version identifier.", + "type": "array", + "items": { + "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.", + "type": "string" + } + }, + "creativeStatusFilter": { + "uniqueItems": true, + "description": "Filters creatives by optional creative status.\nBy default, you can list all creative versions regardless of creative status.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreativeStatus" + } + } + }, + "required": [ + "adId" + ] + }, + "BudgetType": { + "description": "For the lifetime budget type, `startDate` and `endDate` must be specified.", + "type": "string", + "enum": [ + "DAILY", + "LIFETIME" + ] + }, + "CampaignMutationFailureResponseItem": { + "type": "object", + "properties": { + "index": { + "description": "the index of the campaign in the array from the request body.", + "maximum": 10, + "type": "number", + "minimum": 0 + }, + "errors": { + "minItems": 0, + "maxItems": 100, + "description": "A list of validation errors.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CampaignMutationError" + } + } + }, + "required": [ + "index" + ] + }, + "RuleBasedBudget": { + "type": "object", + "properties": { + "isProcessing": { + "type": "boolean" + }, + "applicableRuleName": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + }, + "applicableRuleId": { + "type": "string" + } + } + }, + "BidAdjustmentByPlacement": { + "type": "object", + "properties": { + "percentage": { + "maximum": 900, + "type": "number", + "minimum": -99 + }, + "placement": { + "$ref": "#/components/schemas/Placement" + } + } + }, + "AdMutationErrorSelector": { + "type": "object", + "properties": { + "rangeError": { + "$ref": "#/components/schemas/RangeError" + }, + "otherError": { + "$ref": "#/components/schemas/OtherError" + } + } + }, + "ErrorCause": { + "description": "Structure describing error cause - location in the payload and data causing error.", + "type": "object", + "properties": { + "location": { + "description": "Error location, JSON Path expression specifying element of API payload causing error.", + "type": "string" + }, + "trigger": { + "description": "Optional value causing error.", + "type": "string" + } + }, + "required": [ + "location" + ] + }, + "SBKeywordRecommendationThemeSuggestion": { + "type": "object", + "properties": { + "keywords": { + "minItems": 0, + "maxItems": 1000, + "type": "array", + "items": { + "$ref": "#/components/schemas/SBKeywordRecommendationThemeKeyword" + } + }, + "type": { + "$ref": "#/components/schemas/SBKeywordRecommendationThemeType" + } + } + }, + "DeleteSponsoredBrandsAdGroupsBetaRequestContent": { + "type": "object", + "properties": { + "adGroupIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + } + } + }, + "CreateExtendedProductCollectionCreative": { + "type": "object", + "properties": { + "brandLogoCrop": { + "$ref": "#/components/schemas/BrandLogoCrop" + }, + "asins": { + "minItems": 0, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + }, + "brandName": { + "minLength": 1, + "type": "string", + "maxLength": 30 + }, + "customImages": { + "minItems": 0, + "maxItems": 5, + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomImage" + } + }, + "brandLogoAssetID": { + "type": "string" + }, + "headline": { + "minLength": 1, + "type": "string", + "maxLength": 50 + } + } + }, + "ObjectIdFilter": { + "description": "Filter entities by the list of objectIds.", + "type": "object", + "properties": { + "include": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "description": "Entity object identifier.", + "type": "string" + } + } + } + }, + "PerformanceMetric": { + "description": "The advertising performance metric.", + "type": "string", + "enum": [ + "ACOS", + "CTR", + "CVR", + "ROAS" + ] + }, + "VideoPolicyViolation": { + "description": "Structure of policy violation for a video component", + "type": "object", + "properties": { + "policyDescription": { + "description": "A human-readable description of the policy.", + "type": "string" + }, + "videoEvidences": { + "description": "List of evidences for the policy violations detected on the video component.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VideoEvidence" + } + }, + "name": { + "description": "A policy violation code.", + "type": "string" + }, + "type": { + "description": "Type of policy violation.", + "type": "string", + "enum": [ + "WARNING", + "REJECTED" + ] + }, + "policyLinkUrl": { + "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.", + "type": "string", + "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol" + } + } + }, + "DeleteSponsoredBrandsCampaignsBetaRequestContent": { + "type": "object", + "properties": { + "campaignIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + } + } + }, + "UpdateSponsoredBrandsCampaignsRequestContent": { + "type": "object", + "properties": { + "campaigns": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateCampaign" + } + } + }, + "required": [ + "campaigns" + ] + }, + "CreateSponsoredBrandStoreSpotlightAdsRequestContent": { + "type": "object", + "properties": { + "ads": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateStoreSpotlightAd" + } + } + }, + "required": [ + "ads" + ] + }, + "UnauthorizedExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/UnauthorizedErrorCode" + }, + "message": { + "description": "Human readable error message.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "CreateVideoAd": { + "type": "object", + "properties": { + "name": { + "minLength": 1, + "description": "The name of the ad.", + "type": "string", + "maxLength": 255 + }, + "state": { + "$ref": "#/components/schemas/CreateOrUpdateEntityState" + }, + "adGroupId": { + "description": "The adGroup identifier.", + "type": "string" + }, + "creative": { + "$ref": "#/components/schemas/CreateVideoCreative" + } + }, + "required": [ + "adGroupId", + "creative", + "name", + "state" + ] + }, + "SBTargetingBrand": { + "type": "object", + "properties": { + "brandRefinementId": { + "description": "Id of brand. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Brand Refinement IDs.", + "type": "string" + }, + "name": { + "description": "Name of brand.", + "type": "string" + } + }, + "required": [ + "brandRefinementId" + ] + }, + "PerformanceMeasureConditionForSB": { + "type": "object", + "required": [ + "comparisonOperator", + "metricName", + "threshold" + ], + "properties": { + "metricName": { + "$ref": "#/components/schemas/PerformanceMetricForSB" + }, + "comparisonOperator": { + "$ref": "#/components/schemas/ComparisonOperator" + }, + "threshold": { + "format": "double", + "description": "The performance threshold value.", + "type": "number" + } + } + }, + "NextToken": { + "description": "Operations that return paginated results include a pagination token in this field. 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" + }, + "SDListAssociatedBudgetRulesResponse": { + "type": "object", + "properties": { + "associatedRules": { + "description": "A list of associated budget rules.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRule" + } + } + } + }, + "SDHeadlineRecommendationResponse": { + "description": "Response structure of SD headline recommendation API.", + "type": "object", + "properties": { + "requestId": { + "description": "An identifier for request made which is generated by server.", + "type": "string" + }, + "recommendations": { + "minItems": 1, + "maxItems": 10, + "description": "Recommendations are sorted, i.e., more suitable headline has lesser array index value.", + "type": "array", + "items": { + "$ref": "#/components/schemas/RecommendedHeadline" + } + } + } + }, + "CreateBrandVideoCreativeResponseContent": { + "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" + } + } + }, + "SBTargetingGetTargetableCategoriesResponseContent": { + "description": "Response object for /sb/targets/categories containing all targetable categories for the advertiser's marketplace.", + "type": "object", + "properties": { + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field. 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" + }, + "categoryTree": { + "maxItems": 5000, + "description": "List of categories.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SBTargetingCategory" + } + } + } + }, + "SBKeywordRecommendationThemes": { + "type": "object", + "properties": { + "themeType": { + "$ref": "#/components/schemas/SBKeywordRecommendationThemeType" + } + } + }, + "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" + } + } + }, + "SBRuleBasedBudget": { + "type": "object", + "properties": { + "executionTime": { + "format": "int64", + "description": "Epoch time of budget rule execution.", + "type": "number" + }, + "appliedRule": { + "$ref": "#/components/schemas/SBBudgetRule" + }, + "ruleBasedBudgetValue": { + "description": "The budget value.", + "type": "number" + }, + "dailyBudgetValue": { + "description": "The daily budget value.", + "type": "number" + }, + "performanceMetric": { + "$ref": "#/components/schemas/PerformanceMetricValue" + } + } + }, + "ModerationResultsInternalServerError": { + "type": "object", + "properties": { + "code": { + "description": "Internal error code.", + "type": "string", + "enum": [ + "INTERNAL_ERROR" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "TextRecommendations": { + "minItems": 0, + "maxItems": 5, + "description": "Ordered list of recommendations in each group.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TextRecommendation" + } + }, + "SPBudgetRule": { + "type": "object", + "required": [ + "ruleId" + ], + "properties": { + "ruleState": { + "$ref": "#/components/schemas/state" + }, + "lastUpdatedDate": { + "format": "int64", + "description": "Epoch time of budget rule update. Read-only.", + "type": "number" + }, + "createdDate": { + "format": "int64", + "description": "Epoch time of budget rule creation. Read-only.", + "type": "number" + }, + "ruleDetails": { + "$ref": "#/components/schemas/SPBudgetRuleDetails" + }, + "ruleId": { + "description": "The budget rule identifier.", + "type": "string" + }, + "ruleStatus": { + "description": "The budget rule status. Read-only.", + "type": "string" + } + } + }, + "AdExtendedData": { + "type": "object", + "properties": { + "servingStatus": { + "$ref": "#/components/schemas/AdServingStatus" + }, + "lastUpdateDate": { + "description": "Date of last update in epoch time.", + "type": "number" + }, + "servingStatusDetails": { + "minItems": 0, + "maxItems": 100, + "description": "The serving status reasons of the Ad.", + "type": "array", + "items": { + "type": "string" + } + }, + "creationDate": { + "description": "Creation date in epoch time.", + "type": "number" + } + } + }, + "AsinComponentResponse": { + "description": "Pre-moderation result for an Asin component", + "type": "object", + "properties": { + "preModerationStatus": { + "description": "The pre-moderation status of the component.", + "type": "string", + "enum": [ + "REJECTED", + "APPROVED", + "FAILED", + "RETRYABLE_FAILURE" + ] + }, + "componentType": { + "description": "Type of Asin component.", + "type": "string", + "enum": [ + "LANDING_ASIN", + "PRODUCT_ASIN" + ] + }, + "policyViolations": { + "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AsinPolicyViolation" + } + }, + "asin": { + "description": "Pre-moderated Asin Id.", + "type": "string" + }, + "id": { + "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", + "type": "string" + } + } + }, + "CreativeRecommendationsThrottlingError": { + "type": "object", + "properties": { + "code": { + "description": "Throttled error code.", + "type": "string", + "enum": [ + "THROTTLED" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "CreateStoreSpotlightCreativeRequestContent": { + "type": "object", + "properties": { + "adId": { + "description": "The unique ID of a Sponsored Brands ad.", + "type": "string" + }, + "creative": { + "$ref": "#/components/schemas/StoreSpotlightCreative" + } + }, + "required": [ + "adId", + "creative" + ] + }, + "SBKeywordRecommendationThemeType": { + "description": "Theme type for targeting. Used to get keyword recommendations for theme.", + "type": "string", + "enum": [ + "KEYWORDS_RELATED_TO_YOUR_BRAND", + "KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES" + ] + }, + "PerformanceMetricValue": { + "description": "An object giving the name of the performance metric and its value when the rule was evaluated", + "type": "object", + "properties": { + "name": { + "description": "Name of the performance metric", + "type": "string" + }, + "value": { + "format": "double", + "description": "Value of the performance metric", + "type": "number" + } + } + }, + "CreativeStatus": { + "description": "The lifecycle status of a creative", + "type": "string", + "enum": [ + "SUBMITTED_FOR_MODERATION", + "PENDING_TRANSLATION", + "PENDING_MODERATION_REVIEW", + "APPROVED_BY_MODERATION", + "REJECTED_BY_MODERATION", + "PUBLISHED" + ] + }, + "ListCreativesResultEntry": { + "description": "-----------------------------------------------\nStructure types\n-----------------------------------------------\nCreative", + "type": "object", + "properties": { + "adId": { + "description": "The unique ID of a Sponsored Brands ad.", + "type": "string" + }, + "creationTime": { + "format": "double", + "type": "number" + }, + "creativeType": { + "$ref": "#/components/schemas/CreativeType" + }, + "creativeVersion": { + "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.", + "type": "string" + }, + "creativeStatus": { + "$ref": "#/components/schemas/CreativeStatus" + }, + "creativeProperties": { + "$ref": "#/components/schemas/CreativeProperties" + }, + "lastUpdateTime": { + "format": "double", + "type": "number" + } + } + }, + "DateError": { + "description": "Errors related to dates.", + "type": "object", + "properties": { + "reason": { + "description": "Exact error reason..", + "type": "string" + }, + "cause": { + "$ref": "#/components/schemas/ErrorCause" + }, + "message": { + "description": "Human readable error message.", + "type": "string" + } + }, + "required": [ + "cause", + "message", + "reason" + ] + }, + "AssociatedCampaign": { + "type": "object", + "required": [ + "campaignId", + "campaignName", + "ruleStatus" + ], + "properties": { + "campaignId": { + "description": "The campaign identifier.", + "type": "string" + }, + "ruleStatus": { + "description": "The budget rule evaluation status for this campaign. Read-only.", + "type": "string" + }, + "campaignName": { + "description": "The campaign name.", + "type": "string" + } + } + }, + "PolicyViolation": { + "type": "object", + "properties": { + "policyDescription": { + "description": "A human-readable description of the policy.", + "type": "string" + }, + "violatingTextContents": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/components/schemas/ViolatingTextContent" + } + }, + "violatingImageContents": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/components/schemas/ViolatingImageContent" + } + }, + "policyLinkUrl": { + "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.", + "type": "string" + }, + "violatingVideoContents": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/components/schemas/ViolatingVideoContent" + } + }, + "violatingAsinContents": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/components/schemas/ViolatingAsinContent" + } + } + } + }, + "StatusFilter": { + "type": "object", + "properties": { + "include": { + "minItems": 0, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SBKeywordRecommendationType": { + "description": "A recommendation identifier that describes the suggested action for the recommendation.\n|Identifier|Description|\n|----------|-----------|\n|addKeyword|The suggested action is to add the keyword.|\n
", + "type": "string", + "enum": [ + "addKeyword" + ] + }, + "ListSponsoredBrandsAdGroupsResponseContent": { + "type": "object", + "properties": { + "totalResults": { + "description": "The total number of entities.", + "maximum": 100, + "type": "number", + "minimum": 0 + }, + "adGroups": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/AdGroup" + } + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" + } + } + }, + "CreativeRecommendationProperties": { + "description": "Nested Creative Properties Structure for fetching Creative Recommendations.", + "type": "object", + "properties": { + "asins": { + "minItems": 0, + "maxItems": 3, + "description": "-----------------------------------------------\nList types\n-----------------------------------------------\nA list of ASINs", + "type": "array", + "items": { + "description": "ASIN", + "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" + }, + "subpages": { + "minItems": 0, + "maxItems": 5, + "description": "An array of subpages", + "type": "array", + "items": { + "$ref": "#/components/schemas/Subpage" + } + }, + "landingPage": { + "$ref": "#/components/schemas/CreativeLandingPageV2" + }, + "customImages": { + "minItems": 0, + "maxItems": 5, + "uniqueItems": true, + "description": "An array of customImages associated with the creative.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomImage" + } + }, + "videoAssetIds": { + "minItems": 0, + "maxItems": 1, + "description": "An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API.", + "type": "array", + "items": { + "description": "The identifier of image/video asset from the store's asset library", + "type": "string" + } + }, + "recommendedCreativeId": { + "description": "a Unique Id identifying the creative Recommendation", + "type": "string" + }, + "brandLogo": { + "$ref": "#/components/schemas/BrandLogo" + }, + "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" + } + } + }, + "SBKeywordRecommendationLandingPage": { + "type": "object", + "properties": { + "url": { + "description": "The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page.", + "type": "string" + } + } + }, + "ThrottlingExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/ThrottledErrorCode" + }, + "message": { + "description": "Human readable error message.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "SPBudgetHistory": { + "type": "object", + "properties": { + "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.", + "type": "string" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SPRuleBasedBudget" + } + } + } + }, + "SBTargetingThrottlingExceptionResponseContent": { + "description": "Returns information about a ThrottlingException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "BudgetError": { + "type": "object", + "properties": { + "reason": { + "type": "string" + }, + "cause": { + "$ref": "#/components/schemas/ErrorCause" + }, + "upperLimit": { + "type": "string" + }, + "lowerLimit": { + "type": "string" + }, + "message": { + "description": "Human readable error message.", + "type": "string" + } + }, + "required": [ + "cause", + "message", + "reason" + ] + }, + "SDHeadlineRecommendationSchemaValidationException": { + "type": "object", + "properties": { + "code": { + "description": "InvalidArgumentErrorCode.", + "type": "string", + "enum": [ + "INVALID_ARGUMENT" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "AccessDeniedErrorCode": { + "type": "string", + "enum": [ + "ACCESS_DENIED" + ] + }, + "DeleteSponsoredBrandsAdGroupsRequestContent": { + "type": "object", + "properties": { + "adGroupIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + } + } + }, + "CreateBudgetRulesResponse": { + "type": "object", + "properties": { + "responses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BudgetRuleResponse" + } + } + } + }, + "CreateSponsoredBrandsProductCollectionAdsResponseContent": { + "type": "object", + "properties": { + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" + } + } + }, + "DeleteSponsoredBrandsCampaignsResponseContent": { + "type": "object", + "properties": { + "campaigns": { + "$ref": "#/components/schemas/BulkCampaignOperationResponse" + } + } + }, + "HeadlineSuggestionResponse": { + "description": "Response structure of headline suggestion API.", + "type": "object", + "properties": { + "requestId": { + "description": "An identifier for request made which is generated by server.", + "type": "string" + }, + "suggestions": { + "description": "Suggestions are sorted, i.e., more suitable headline has lesser array index value", + "type": "array", + "items": { + "$ref": "#/components/schemas/SuggestedHeadline" + } + } + } + }, + "MediaType": { + "description": "Media type for assets from Asset Library", + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif" + ] + }, + "CreateStoreSpotlightCreativeResponseContent": { + "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" + } + } + }, + "state": { + "description": "The budget rule state.", + "type": "string", + "enum": [ + "ACTIVE", + "PAUSED" + ] + }, + "ViolatingImageEvidence": { + "type": "object", + "properties": { + "violatingImageCrop": { + "$ref": "#/components/schemas/ImageCrop" + } + } + }, + "AdGroupSuccessResponseItem": { + "type": "object", + "properties": { + "adGroup": { + "$ref": "#/components/schemas/AdGroup" + }, + "index": { + "description": "the index of the adGroup in the array from the request body.", + "maximum": 10, + "type": "number", + "minimum": 0 + }, + "adGroupId": { + "description": "the adGroup ID.", + "type": "string" + } + }, + "required": [ + "index" + ] + }, + "SDHeadlineRecommendationRequest": { + "description": "Request structure of SD headline recommendation API.", + "type": "object", + "properties": { + "asins": { + "minItems": 1, + "maxItems": 100, + "description": "An array of ASINs associated with the creative.", + "type": "array", + "items": { + "type": "string" + } + }, + "maxNumRecommendations": { + "description": "Maximum number of recommendations that API should return. Response will [0, maxNumRecommendations] recommendations (recommendations are not guaranteed as there can be instances where the ML model can not generate policy compliant headlines for the given set of asins).", + "maximum": 10, + "type": "number", + "minimum": 1 + }, + "adFormat": { + "type": "string", + "enum": [ + "SPONSORED_DISPLAY" + ] + } + } + }, + "SPRuleBasedBudget": { + "type": "object", + "properties": { + "executionTime": { + "format": "int64", + "description": "Epoch time of budget rule execution.", + "type": "number" + }, + "appliedRule": { + "$ref": "#/components/schemas/SPBudgetRule" + }, + "ruleBasedBudgetValue": { + "description": "The budget value.", + "type": "number" + }, + "dailyBudgetValue": { + "description": "The daily budget value.", + "type": "number" + }, + "performanceMetric": { + "$ref": "#/components/schemas/PerformanceMetricValue" + } + } + }, + "ListSponsoredBrandsCampaignsResponseContent": { + "type": "object", + "properties": { + "campaigns": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/Campaign" + } + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" + }, + "totalCount": { + "description": "The total number of entities.", + "maximum": 100, + "type": "number", + "minimum": 0 + } + } + }, + "SBBudgetHistory": { + "type": "object", + "properties": { + "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.", + "type": "string" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBRuleBasedBudget" + } + } + } + }, + "ImageComponentResponse": { + "description": "Pre moderation result for a image component", + "type": "object", + "properties": { + "preModerationStatus": { + "description": "The pre moderation status of the component.", + "type": "string", + "enum": [ + "REJECTED", + "APPROVED", + "FAILED", + "RETRYABLE_FAILURE" + ] + }, + "componentType": { + "description": "Type of the image component.", + "type": "string", + "enum": [ + "BRAND_LOGO", + "CUSTOM_IMAGE", + "OTHER_IMAGE" + ] + }, + "landingPage": { + "$ref": "#/components/schemas/LandingPage" + }, + "policyViolations": { + "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ImagePolicyViolation" + } + }, + "id": { + "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", + "type": "string" + }, + "url": { + "description": "Publicly accessible url of the image that got pre moderated.", + "type": "string" + } + } + }, + "SBBudgetRulesRecommendationEventResponse": { + "description": "Special events with date range and suggested budget increase.", + "type": "object", + "properties": { + "recommendedBudgetRuleEvents": { + "description": "A list of recommended special events with date range and suggested budget increase.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SBBudgetRulesRecommendationEvent" + } + } + } + }, + "TextPolicyViolation": { + "description": "Structure of policy violation for a text component", + "type": "object", + "properties": { + "policyDescription": { + "description": "A human-readable description of the policy.", + "type": "string" + }, + "name": { + "description": "A policy violation code.", + "type": "string", + "example": "GRAMMATICAL_ERROR" + }, + "type": { + "description": "Type of policy violation.", + "type": "string", + "enum": [ + "WARNING", + "REJECTED" + ] + }, + "policyLinkUrl": { + "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.", + "type": "string", + "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol" + }, + "textEvidences": { + "description": "List of text evidences", + "type": "array", + "items": { + "$ref": "#/components/schemas/TextEvidence" + } + } + } + }, + "NotFoundErrorResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/NotFoundErrorCode" + }, + "requestId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message", + "requestId" + ] + }, + "SBKeywordRecommendationMatchType": { + "description": "The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center.", + "type": "string", + "enum": [ + "broad", + "exact", + "phrase" + ] + }, + "InvalidArgumentError": { + "type": "object", + "properties": { + "errorType": { + "description": "The type of the error", + "type": "string" + }, + "errorValue": { + "$ref": "#/components/schemas/InvalidArgumentErrorSelector" + } + }, + "required": [ + "errorType", + "errorValue" + ] + }, + "SevenDaysMissedOpportunities": { + "description": "Missed Opportunities in the trailing seven days.", + "type": "object", + "properties": { + "estimatedMissedSalesLower": { + "format": "double", + "description": "Lower bound of the estimated Missed Sales. This will be in local currency.", + "type": "number" + }, + "estimatedMissedSalesUpper": { + "format": "double", + "description": "Upper bound of the estimated Missed Sales. This will be in local currency.", + "type": "number" + }, + "endDate": { + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "End date of the Missed Opportunities date range (YYYY-MM-DD) in local time.", + "type": "string" + }, + "estimatedMissedImpressionsLower": { + "description": "Lower bound of the estimated Missed Impressions.", + "type": "number" + }, + "estimatedMissedClicksLower": { + "description": "Lower bound of the estimated Missed Clicks.", + "type": "number" + }, + "estimatedMissedClicksUpper": { + "description": "Upper bound of the estimated Missed Clicks.", + "type": "number" + }, + "estimatedMissedImpressionsUpper": { + "description": "Upper bound of the estimated Missed Impressions.", + "type": "number" + }, + "startDate": { + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "Start date of the Missed Opportunities date range (YYYY-MM-DD) in local time.", + "type": "string" + }, + "percentTimeInBudget": { + "format": "double", + "description": "Percentage of time the campaign is active with a budget.", + "type": "number" + } + } + }, + "ErrorDetails": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string" + }, + "index": { + "description": "The index of the image task in the array from the request body", + "type": "number" + }, + "errorCode": { + "type": "string" + } + } + }, + "BudgetUsagePortfolioResponse": { + "type": "object", + "properties": { + "success": { + "description": "List of budget usage percentages that were successfully pulled", + "type": "array", + "items": { + "$ref": "#/components/schemas/BudgetUsagePortfolio" + } + }, + "error": { + "description": "List of budget usage percentages that failed to pull", + "type": "array", + "items": { + "$ref": "#/components/schemas/BudgetUsagePortfolioBatchError" + } + } + } + }, + "GetSPBudgetRuleResponse": { + "type": "object", + "properties": { + "budgetRule": { + "$ref": "#/components/schemas/SPBudgetRule" + } + } + }, + "CreateBrandVideoCreative": { + "type": "object", + "properties": { + "asins": { + "minItems": 1, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + }, + "brandLogoCrop": { + "$ref": "#/components/schemas/BrandLogoCrop" + }, + "brandName": { + "minLength": 1, + "type": "string", + "maxLength": 30 + }, + "consentToTranslate": { + "description": "If set to true and video asset is not in the marketplace's default language, Amazon will attempt to translate the video to the marketplace's default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information.", + "type": "boolean" + }, + "videoAssetIds": { + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "brandLogoAssetID": { + "type": "string" + }, + "headline": { + "minLength": 1, + "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.", + "type": "string", + "maxLength": 50 + } + } + }, + "SBTargetingGetRefinementsForCategoryResponseContent": { + "description": "Response object for /sb/targets/categories/{categoryRefinementId}/refinements containing information on Brand Nodes, Age Range Nodes, and Genre Nodes.\n Response is paginated with pagination occurring for all three arrays at once.\n Example: If there are 800 brands, 5 age ranges, and 600 genres, the first response will return 500 brands, 5 age ranges, and 500 genres. The next paginated response will return 300 brands, 0 age ranges, and 100 genres.", + "type": "object", + "properties": { + "ageRanges": { + "maxItems": 500, + "description": "List of Age Ranges. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Age Ranges. Age Ranges are only available for categories related to children's toys and games.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SBTargetingAgeRange" + } + }, + "brands": { + "maxItems": 500, + "description": "List of Brands.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SBTargetingBrand" + } + }, + "genres": { + "maxItems": 500, + "description": "List of Genres. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Node IDs. Genres are only available for categories related to books.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SBTargetingGenre" + } + }, + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field. 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" + } + } + }, + "SBKeywordRecommendationError": { + "description": "The Error Response Object.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "RuleDuration": { + "type": "object", + "properties": { + "eventTypeRuleDuration": { + "$ref": "#/components/schemas/EventTypeRuleDuration" + }, + "dateRangeTypeRuleDuration": { + "$ref": "#/components/schemas/DateRangeTypeRuleDuration" + } + } + }, + "LandingPageType": { + "description": "The type of landing page, such as store page, product list (simple landing page), custom url.", + "type": "string", + "enum": [ + "PRODUCT_LIST", + "STORE", + "CUSTOM_URL", + "DETAIL_PAGE" + ] + }, + "ListSponsoredBrandsAdsResponseContent": { + "type": "object", + "properties": { + "ads": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/Ad" + } + }, + "totalResults": { + "description": "The total number of entities.", + "maximum": 100, + "type": "number", + "minimum": 0 + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" + } + } + }, + "ListSponsoredBrandsCampaignsRequestContent": { + "type": "object", + "properties": { + "campaignIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + }, + "portfolioIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + }, + "stateFilter": { + "$ref": "#/components/schemas/EntityStateFilter" + }, + "maxResults": { + "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", + "maximum": 100, + "type": "number", + "minimum": 1 + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" + }, + "includeExtendedDataFields": { + "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.", + "type": "boolean" + }, + "nameFilter": { + "$ref": "#/components/schemas/NameFilter" + }, + "outcomeTypeFilter": { + "$ref": "#/components/schemas/OutcomeTypeFilter" + } + } + }, + "SBKeywordRecommendationImpressionRank": { + "format": "int64", + "description": "The account-level ad-attributed impression rank for the search-term / keyword. Provides the [1:N] place the advertiser ranks among all advertisers for the keyword by ad impressions in a marketplace in the last 7 days. It tells an advertiser how many advertisers had higher share of ad impressions.", + "type": "integer" + }, + "CreativeLandingPageV2": { + "description": "Landing page V2, where type is String with allowed values listed, and url of that type.", + "type": "object", + "properties": { + "type": { + "description": "Supported types are PRODUCT_LIST, STORE, DETAIL_PAGE, CUSTOM_URL. More could be added in future.", + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "SBInsightsUnauthorizedExceptionResponseContent": { + "description": "Returns information about an UnauthorizedException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "ModerationError": { + "description": "The Error Response Object.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "TextEvidence": { + "description": "Structure of a text evidence", + "type": "object", + "properties": { + "violatingText": { + "description": "The specific text determined to violate the specified policy in reviewedText.", + "type": "string", + "example": "alcohol" + }, + "position": { + "description": "Position in the textComponent where the policy violation is detected.", + "type": "object", + "properties": { + "start": { + "description": "Zero-based index into the text in textComponent where the text specified in violatingText starts.", + "type": "integer" + }, + "end": { + "description": "Zero-based index into the text in textComponent where the text specified in violatingText ends.", + "type": "integer" + } + } + } + } + }, + "SecondaryHeadlineRecommendationGroups": { + "minItems": 0, + "maxItems": 5, + "description": "Ordered list of Secondary Headline recommendation groups.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TextRecommendations" + } + }, + "CampaignMutationSuccessResponseItem": { + "type": "object", + "properties": { + "campaignId": { + "description": "The campaign ID.", + "type": "string" + }, + "index": { + "description": "The index of the campaign in the array from the request body.", + "maximum": 10, + "type": "number", + "minimum": 0 + }, + "campaign": { + "$ref": "#/components/schemas/Campaign" + } + }, + "required": [ + "index" + ] + }, + "CreativeRecommendationsResponseContent": { + "type": "object", + "properties": { + "totalResults": { + "description": "The total number of results returned by an operation.", + "type": "number" + }, + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.", + "type": "string" + }, + "creatives": { + "minItems": 0, + "maxItems": 5, + "description": "A list of creatives", + "type": "array", + "items": { + "$ref": "#/components/schemas/CreativeRecommendationResultEntry" + } + } + } + }, + "BidOptimizationStrategy": { + "description": "The bid optimization strategy.\n- MAXIMIZE_IMMEDIATE_SALES - The default bidding strategy. The campaign is optimized to maximize sale.\n- MAXIMIZE_NEW_TO_BRAND_CUSTOMERS - The campaign is optimized to acquire more new-to-brand customers.", + "type": "string", + "enum": [ + "MAXIMIZE_IMMEDIATE_SALES", + "MAXIMIZE_NEW_TO_BRAND_CUSTOMERS" + ] + }, + "InternalErrorErrorCode": { + "type": "string", + "enum": [ + "INTERNAL_ERROR" + ] + }, + "CreateVideoCreative": { + "type": "object", + "properties": { + "asins": { + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "consentToTranslate": { + "description": "If set to true and video asset is not in the marketplace's default language, Amazon will attempt to translate the video to the marketplace's default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information.", + "type": "boolean" + }, + "videoAssetIds": { + "minItems": 1, + "maxItems": 1, + "description": "In SB API V4, `videoMediaIds` is replaced by `videoAssetIds`.\n`videoAssetIds` will only allow Asset Library identifiers for ad creation, but responses can include mediaIds for v1 campaigns and API V3 operations.\nAt a future state, existing mediaIds will be added to Asset library for use in SB campaigns.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InvalidArgumentErrorCode": { + "type": "string", + "enum": [ + "INVALID_ARGUMENT" + ] + }, + "CreateSponsoredBrandsAdGroupsBetaRequestContent": { + "type": "object", + "properties": { + "adGroups": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateAdGroup" + } + } + }, + "required": [ + "adGroups" + ] + }, + "CreateProductCollectionAd": { + "type": "object", + "properties": { + "landingPage": { + "$ref": "#/components/schemas/LandingPage" + }, + "name": { + "minLength": 1, + "description": "The name of the ad.", + "type": "string", + "maxLength": 255 + }, + "state": { + "$ref": "#/components/schemas/CreateOrUpdateEntityState" + }, + "adGroupId": { + "description": "The adGroup identifier.", + "type": "string" + }, + "creative": { + "$ref": "#/components/schemas/CreateProductCollectionCreative" + } + }, + "required": [ + "adGroupId", + "creative", + "landingPage", + "name", + "state" + ] + }, + "ImageTask": { + "type": "object", + "properties": { + "imageUrlExpiration": { + "format": "double", + "description": "The timestamp after which the imageUrl will be invalid. The number represents Unix epoch seconds with optional millisecond precision.", + "type": "number" + }, + "imageResults": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageResult" + } + }, + "taskId": { + "type": "string" + }, + "status": { + "description": "Image task status. Valid values are PENDING, COMPLETED and FAILED", + "type": "string" + } + } + }, + "OtherError": { + "description": "Errors not related to any of the other error types.", + "type": "object", + "properties": { + "reason": { + "type": "string" + }, + "cause": { + "$ref": "#/components/schemas/ErrorCause" + }, + "message": { + "description": "Human readable error message.", + "type": "string" + } + }, + "required": [ + "cause", + "message", + "reason" + ] + }, + "UpdateAdGroup": { + "type": "object", + "properties": { + "name": { + "minLength": 1, + "description": "The name of the ad group.", + "type": "string", + "maxLength": 255 + }, + "state": { + "$ref": "#/components/schemas/CreateOrUpdateEntityState" + }, + "adGroupId": { + "description": "The identifier of the keyword.", + "type": "string" + } + }, + "required": [ + "adGroupId" + ] + }, + "CreateSponsoredBrandStoreSpotlightAdsResponseContent": { + "type": "object", + "properties": { + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" + } + } + }, + "UpdateSponsoredBrandsAdsRequestContent": { + "type": "object", + "properties": { + "ads": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateAd" + } + } + }, + "required": [ + "ads" + ] + }, + "DeleteSponsoredBrandsCampaignsBetaResponseContent": { + "type": "object", + "properties": { + "campaigns": { + "$ref": "#/components/schemas/BulkCampaignOperationResponse" + } + } + }, + "ShopperSegment": { + "description": "List of bid adjustments for shopper segments.\n- NEW_TO_BRAND_PURCHASE - The shopper segment where shopper has not purchased product from the brand.", + "type": "string", + "enum": [ + "NEW_TO_BRAND_PURCHASE" + ] + }, + "SDGetAssociatedCampaignsResponse": { + "type": "object", + "properties": { + "associatedCampaigns": { + "minItems": 0, + "maxItems": 30, + "description": "A list of campaigns that are associated to this budget rule.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AssociatedCampaign" + } + }, + "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.", + "type": "string" + } + } + }, + "SBTargetingSupplySource": { + "description": "The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV.", + "type": "string", + "enum": [ + "AMAZON", + "STREAMING_VIDEO" + ] + }, + "SDHeadlineRecommendationMarsThrottlingException": { + "type": "object", + "properties": { + "code": { + "description": "ThrottledErrorCode.", + "type": "string", + "enum": [ + "THROTTLED" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "InternalServerExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/InternalErrorErrorCode" + }, + "message": { + "description": "Human readable error message.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "SDRuleType": { + "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", + "type": "string", + "enum": [ + "SCHEDULE", + "PERFORMANCE" + ] + }, + "TextComponent": { + "description": "Text component which needs to be pre moderated", + "type": "object", + "required": [ + "componentType", + "id", + "text" + ], + "properties": { + "componentType": { + "description": "Type of text component.", + "type": "string", + "enum": [ + "HEADLINE", + "BRAND_NAME", + "OTHER_TEXT" + ] + }, + "id": { + "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", + "type": "string" + }, + "text": { + "description": "Text which needs to be moderated.", + "type": "string" + } + } + }, + "ProductCollectionCreative": { + "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" + }, + "customImageAssetId": { + "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" + }, + "customImageCrop": { + "$ref": "#/components/schemas/AssetCrop" + }, + "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" + ] + }, + "BudgetRecommendation": { + "description": "Budget recomendation for campagins.", + "type": "object", + "properties": { + "campaignId": { + "description": "The identifier of a campaign.", + "type": "string" + }, + "suggestedBudget": { + "format": "double", + "description": "Recommended budget for the campaign.", + "type": "number" + }, + "index": { + "description": "Correlate the recommendation to the campaign index in the request. Zero-based.", + "type": "number" + }, + "sevenDaysMissedOpportunities": { + "$ref": "#/components/schemas/SevenDaysMissedOpportunities" + } + }, + "required": [ + "campaignId", + "index", + "sevenDaysMissedOpportunities", + "suggestedBudget" + ] + }, + "BulkAdGroupOperationResponse": { + "type": "object", + "properties": { + "success": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/AdGroupSuccessResponseItem" + } + }, + "error": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/AdGroupFailureResponseItem" + } + } + } + }, + "CreateExtendedProductCollectionCreativeRequestContent": { + "type": "object", + "properties": { + "adId": { + "description": "The unique ID of a Sponsored Brands ad.", + "type": "string" + }, + "creative": { + "$ref": "#/components/schemas/ExtendedProductCollectionCreative" + } + }, + "required": [ + "adId", + "creative" + ] + }, + "CreateSponsoredBrandsAdGroupsResponseContent": { + "type": "object", + "properties": { + "adGroups": { + "$ref": "#/components/schemas/BulkAdGroupOperationResponse" + } + } + }, + "PreModerationRequest": { + "description": "Components details that needs to be sent for pre moderation.", + "type": "object", + "required": [ + "adProgram", + "locale" + ], + "properties": { + "recordId": { + "description": "Id of the brand/advertiser.", + "type": "string" + }, + "asinComponents": { + "maxItems": 10, + "description": "Asin components which needs to be pre moderated.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AsinComponent" + } + }, + "adProgram": { + "description": "Type of Ad program to which this pre moderation components belong to.", + "type": "string", + "enum": [ + "SPONSORED_BRANDS", + "SPONSORED_BRANDS_SPOTLIGHT", + "SPONSORED_BRANDS_VIDEO", + "STORES", + "SPONSORED_DISPLAY", + "DSP", + "DSP_REC", + "DSP_IMAGE", + "DSP_THIRD_PARTY" + ] + }, + "locale": { + "description": "Specifying locale will translate the premoderation message into that locale's associated language. \n \n | Locale | Language (ISO 639) | Country (ISO 3166) | \n |-----|-----|-------| \n | ar-AE | Arabic (ar) | United Arab Emirates (AE) | \n | zh-CN | Chinese (zh) | China (CN) | \n | nl-NL | Dutch (nl) | Netherlands (NL) | \n | en-AU | English (en) | Australia (AU) | \n | en-CA | English (en) | Canada (CA) | \n | en-IN | English (en) | India (IN) | \n | en-GB | English (en) | United Kingdom (GB) | \n | en-US | English (en) | United States (US) | \n | fr-CA | French (fr) | Canada (CA) | \n | fr-FR | French (fr) | France (FR) | \n | de-DE | German (de) | Germany (DE) | \n | it-IT | Italian (it) | Italy (IT) | \n | ja-JP | Japanese (ja) | Japan (JP) | \n | ko-KR | Korean (ko) | South Korea (KR) | \n | pt-BR | Portuguese (pt) | Brazil (BR) | \n | es-ES | Spanish (es) | Spain (ES) | \n | es-US | Spanish (es) | United States (US) | \n | es-MX | Spanish (es) | Mexico (MX) | \n | tr-TR | Turkish (tr) | Turkey (TR) | \n ", + "type": "string", + "enum": [ + "ar-AE", + "zh-CN", + "nl-NL", + "en-AU", + "en-CA", + "en-IN", + "en-GB", + "en-US", + "fr-CA", + "fr-FR", + "de-DE", + "it-IT", + "ja-JP", + "ko-KR", + "pt-BR", + "es-ES", + "es-US", + "es-MX", + "tr-TR" + ] + }, + "imageComponents": { + "maxItems": 10, + "description": "Image components which needs to be pre moderated.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageComponent" + } + }, + "dateComponents": { + "maxItems": 10, + "description": "Date components which needs to be pre moderated.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DateComponent" + } + }, + "textComponents": { + "maxItems": 10, + "description": "Text components which needs to be pre moderated.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TextComponent" + } + }, + "videoComponents": { + "maxItems": 1, + "description": "Video components which needs to be pre moderated.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VideoComponent" + } + } + } + }, + "Campaign": { + "type": "object", + "properties": { + "budgetType": { + "$ref": "#/components/schemas/BudgetType" + }, + "ruleBasedBudget": { + "$ref": "#/components/schemas/RuleBasedBudget" + }, + "brandEntityId": { + "type": "string" + }, + "isMultiAdGroupsEnabled": { + "type": "boolean" + }, + "bidding": { + "$ref": "#/components/schemas/Bidding" + }, + "endDate": { + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "The format of the date is YYYY-MM-DD.", + "type": "string" + }, + "campaignId": { + "description": "Entity object identifier.", + "type": "string" + }, + "productLocation": { + "$ref": "#/components/schemas/ProductLocation" + }, + "tags": { + "$ref": "#/components/schemas/Tags" + }, + "portfolioId": { + "description": "The identifier of an existing portfolio to which the campaign is associated.", + "type": "string" + }, + "costType": { + "description": "This parameter is a PREVIEW ONLY and cannot be used as part of a request. The costType can be set to determines how the campaign will bid and charge. To view the bid maximums and minimums by geography and costType, see https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace\n- CPC [Default] - Cost per click. The performance of this campaign is measured by the clicks triggered by the ad.\n- VCPM - Cost per 1000 viewable impressions. The performance of this campaign is measured by the viewable impressions triggered by the ad.", + "type": "string" + }, + "smartDefault": { + "minItems": 1, + "maxItems": 100, + "description": "This parameter is a PREVIEW ONLY and cannot be used as part of a request. The smartDefault specifies a list of the smart default options for the campaign.\n\n`smartDefault` is optional for create campaign requests. `smartDefault` are applicable to all applicable child entities of the campaign and are not editable once the campaign is created. When using [\"TARGETING\"], targets will be automatically added based on the outcome selected. When [\"MANUAL\"] is selected, you will still be required to manually add targets.\n\nIf you don't specify `smartDefault`, default value will be applied based on `outcome` . If campaign's `outcome` is selected, `smartDefault` will be set to [\"TARGETING\"]. Otherwise, a campaign's `smartDefault` will be set to [\"MANUAL\"].\n\nEach element in smartDefault can be set to determines which default strategy to be used\n- MANUAL - Manual settings, no smart default be applied to the campaign, if MANUAL is added in the list, no other items are allowed in the list (the list must contains only one item)\n- TARGETING - Smart Default Targeting creation, will automatically creating targetings when create ad group\n\nExample: [\"TARGETING\"]", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "minLength": 1, + "type": "string", + "maxLength": 128 + }, + "state": { + "$ref": "#/components/schemas/EntityState" + }, + "startDate": { + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "The format of the date is YYYY-MM-DD.", + "type": "string" + }, + "outcome": { + "description": "The name of the campaign.\nThe type of budget.\nThis parameter is a PREVIEW ONLY and cannot be used as part of a request. Outcome will allow you to set outcome type to help drive your campaign performance. If no outcome is selected then it will default to PAGE_VISIT.\nThe outcome type of the campaign.\n- BRAND_IMPRESSION_SHARE - This outcome will allow you grown your brand impression share on top of search placements\n- PAGE_VISIT [DEFAULT] - This outcome drives traffic to your landing and detail pages through all placements.", + "type": "string" + }, + "budget": { + "format": "double", + "type": "number" + }, + "extendedData": { + "$ref": "#/components/schemas/CampaignExtendedData" + } + }, + "required": [ + "budget", + "budgetType", + "campaignId", + "name", + "state" + ] + }, + "ModerationResult": { + "type": "object", + "properties": { + "versionId": { + "$ref": "#/components/schemas/VersionId" + }, + "idType": { + "$ref": "#/components/schemas/IdType" + }, + "moderationStatus": { + "$ref": "#/components/schemas/ModerationStatus" + }, + "policyViolations": { + "minItems": 0, + "maxItems": 200, + "description": "A list of policy violations for a campaign that has failed moderation. Note that this field is present in the response only when moderationStatus is set to REJECTED.", + "type": "array", + "items": { + "$ref": "#/components/schemas/PolicyViolation" + } + }, + "etaForModeration": { + "description": "Expected date and time by which moderation will be complete. The format is ISO 8601 in UTC time zone. Note that this field is present in the response only when moderationStatus is set to IN_PROGRESS.", + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/Id" + } + } + }, + "AcceptHeader": { + "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type.", + "type": "string", + "enum": [ + "application/vnd.sbAdCreativeResource.v4+json", + "application/vnd.sbCreativeImageRecommendationResource.v4+json", + "application/vnd.sbCreativeRecommendationResource.v4+json" + ] + }, + "UpdateSponsoredBrandsCampaignsBetaResponseContent": { + "type": "object", + "properties": { + "campaigns": { + "$ref": "#/components/schemas/BulkCampaignOperationResponse" + } + } + }, + "StorePage": { + "type": "object", + "properties": { + "displayName": { + "description": "Display Name of the store page shown on a store spotlight campaign.", + "type": "string" + }, + "primaryAsin": { + "description": "Selected asin from the store page which is displayed on the store spotlight campaign.", + "type": "string" + } + } + }, + "CreateSponsoredBrandsExtendedProductCollectionAdsRequestContent": { + "type": "object", + "properties": { + "ads": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateExtendedProductCollectionAd" + } + } + }, + "required": [ + "ads" + ] + }, + "SBInsightsBadRequestExceptionResponseContent": { + "description": "Returns information about a BadRequestException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "UpdateSDBudgetRulesRequest": { + "description": "Request object for updating budget rule for SD campaign", + "type": "object", + "properties": { + "budgetRulesDetails": { + "maxItems": 25, + "description": "A list of budget rule details.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRule" + } + } + } + }, + "SPListAssociatedBudgetRulesResponse": { + "type": "object", + "properties": { + "associatedRules": { + "description": "A list of associated budget rules.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SPCampaignBudgetRule" + } + } + } + }, + "SBInsightsKeyword": { + "description": "Keyword associated with the campaign.", + "type": "object", + "properties": { + "matchType": { + "$ref": "#/components/schemas/SBInsightsMatchType" + }, + "bid": { + "format": "double", + "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).", + "type": "number" + }, + "keywordText": { + "description": "The keyword text. Maximum of 10 words.", + "type": "string" + } + }, + "required": [ + "bid", + "keywordText", + "matchType" + ] + }, + "SDRuleBasedBudget": { + "type": "object", + "properties": { + "executionTime": { + "format": "int64", + "description": "Epoch time of budget rule execution.", + "type": "number" + }, + "appliedRule": { + "$ref": "#/components/schemas/SDBudgetRule" + }, + "ruleBasedBudgetValue": { + "description": "The budget value.", + "type": "number" + }, + "dailyBudgetValue": { + "description": "The daily budget value.", + "type": "number" + }, + "performanceMetric": { + "$ref": "#/components/schemas/PerformanceMetricValue" + } + } + }, + "AdGroup": { + "type": "object", + "properties": { + "campaignId": { + "description": "The identifier of the campaign to which the keyword is associated.", + "type": "string" + }, + "name": { + "minLength": 1, + "description": "The name of the ad group.", + "type": "string", + "maxLength": 255 + }, + "state": { + "$ref": "#/components/schemas/EntityState" + }, + "adGroupId": { + "description": "The identifier of the keyword.", + "type": "string" + }, + "extendedData": { + "$ref": "#/components/schemas/AdGroupExtendedData" + } + }, + "required": [ + "adGroupId", + "campaignId", + "name", + "state" + ] + }, + "DeleteSponsoredBrandsAdsBetaRequestContent": { + "type": "object", + "properties": { + "adIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + } + } + }, + "UpdateSponsoredBrandsAdsResponseContent": { + "type": "object", + "properties": { + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" + } + } + }, + "CreativeRecommendationsEligibilityResponseContent": { + "type": "object", + "properties": { + "isEligible": { + "description": "Returns false if there is no creative recommendation possible with the given landing page.", + "type": "boolean" + }, + "creativeTypes": { + "minItems": 0, + "maxItems": 4, + "uniqueItems": true, + "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CreativeImageRecommendationRequestContent": { + "type": "object", + "properties": { + "asins": { + "minItems": 1, + "maxItems": 3, + "description": "-----------------------------------------------\nList types\n-----------------------------------------------\nA list of ASINs", + "type": "array", + "items": { + "description": "ASIN", + "type": "string" + } + }, + "assetSubType": { + "$ref": "#/components/schemas/AssetSubType" + }, + "maxNumRecommendations": { + "description": "Maximum number of recommendations that API should return. Response will [0, recommendations] recommendations (recommendations are not guaranteed).", + "maximum": 20, + "type": "number", + "minimum": 1 + }, + "assetPrograms": { + "minItems": 0, + "maxItems": 7, + "description": "Filter assets by program types. For example, if only [A_PLUS] assets are requested then only assets that were used as A+ content will be recommended. If no program type is provided, recommend assets from all programs", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProgramType" + } + }, + "locale": { + "description": "(Optional) locale of creative headline and ASIN titles. If locale is not provided, default locale of marketplace is used.\nCurrently, only en_US and en_CA are supported.", + "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" + ] + }, + "UpdateCampaign": { + "type": "object", + "properties": { + "portfolioId": { + "nullable": true, + "description": "The identifier of the campaign.\nThe identifier of an existing portfolio to which the campaign is associated.", + "type": "string" + }, + "bidding": { + "$ref": "#/components/schemas/Bidding" + }, + "endDate": { + "nullable": true, + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "endDate is optional. If endDate is specified, startDate must be specified as well.", + "type": "string" + }, + "campaignId": { + "description": "Entity object identifier.", + "type": "string" + }, + "name": { + "minLength": 1, + "description": "The name of the campaign.", + "type": "string", + "maxLength": 128 + }, + "state": { + "$ref": "#/components/schemas/CreateOrUpdateEntityState" + }, + "startDate": { + "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "description": "startDate can only be changed if the current startDate is in the future.", + "type": "string" + }, + "budget": { + "format": "double", + "description": "The budget of the campaign. See https://advertising.amazon.com/help?entityId=ENTITYJDATFOIA05Q7#GE5QEBS6QRJJAT3A", + "type": "number" + }, + "tags": { + "$ref": "#/components/schemas/Tags" + } + }, + "required": [ + "campaignId" + ] + }, + "DeleteSponsoredBrandsAdGroupsResponseContent": { + "type": "object", + "properties": { + "adGroups": { + "$ref": "#/components/schemas/BulkAdGroupOperationResponse" + } + } + }, + "QueryTermMatchType": { + "description": "Defines how would the string resource field (e.g. campaign name, ad group name) be matched with the query term in filter.", + "type": "string", + "enum": [ + "BROAD_MATCH", + "EXACT_MATCH" + ] + }, + "SPGetAssociatedCampaignsResponse": { + "type": "object", + "properties": { + "associatedCampaigns": { + "minItems": 0, + "maxItems": 30, + "description": "A list of campaigns that are associated to this budget rule.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AssociatedCampaign" + } + }, + "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.", + "type": "string" + } + } + }, + "DeleteSponsoredBrandsAdGroupsBetaResponseContent": { + "type": "object", + "properties": { + "adGroups": { + "$ref": "#/components/schemas/BulkAdGroupOperationResponse" + } + } + }, + "CreateProductCollectionCreativeResponseContent": { + "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" + } + } + }, + "DayOfWeek": { + "description": "The day of the week.", + "type": "string", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "ModerationResultsAdProgramType": { + "description": "The program type of the ad.", + "type": "string", + "enum": [ + "SB_PRODUCT_COLLECTION", + "SB_STORE_SPOTLIGHT", + "SB_VIDEO", + "SPONSORED_PRODUCTS" + ] + }, + "CreativeRecommendationsBadRequestError": { + "type": "object", + "properties": { + "code": { + "description": "Bad request error code.", + "type": "string", + "enum": [ + "BAD_REQUEST" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "SBTargetingUnprocessableEntityExceptionResponseContent": { + "description": "Returns information about an UnprocessableEntityException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "VideoPosition": { + "type": "object", + "properties": { + "start": { + "format": "int64", + "description": "Start time of the video having the policy violation.", + "type": "integer" + }, + "end": { + "format": "int64", + "description": "End time of the video having the policy violation.", + "type": "integer" + } + } + }, + "ModerationStatus": { + "description": "The moderation status of the ad.", + "type": "string", + "enum": [ + "APPROVED", + "IN_PROGRESS", + "REJECTED", + "FAILED" + ] + }, + "SBTargetingAccessDeniedExceptionResponseContent": { + "description": "Returns information about an AccessDeniedException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "UpdateSponsoredBrandsAdGroupsBetaResponseContent": { + "type": "object", + "properties": { + "adGroups": { + "$ref": "#/components/schemas/BulkAdGroupOperationResponse" + } + } + }, + "CreativeRecommendationsRequest": { + "description": "Request structure of creative recommendations API.", + "type": "object", + "required": [ + "asins", + "requiredRecommendations", + "adFormat" + ], + "properties": { + "asins": { + "minItems": 1, + "maxItems": 3, + "description": "An array of ASINs associated with the creative. Note, do not pass an empty array, this results in an error.", + "type": "array", + "items": { + "type": "string" + } + }, + "adFormat": { + "description": "Ad format of the creative.", + "type": "string", + "enum": [ + "SPONSORED_BRANDS_VIDEO" + ] + }, + "requiredRecommendations": { + "minItems": 1, + "maxItems": 2, + "description": "Required recommendations details.", + "type": "array", + "items": { + "$ref": "#/components/schemas/RequiredRecommendations" + } + } + } + }, + "SBInsightsAdFormat": { + "description": "Type of Ad format.", + "type": "string", + "enum": [ + "PRODUCT_COLLECTION", + "STORE_SPOTLIGHT", + "VIDEO", + "BRAND_VIDEO" + ] + }, + "BudgetChangeType": { + "description": "The value by which to update the budget of the budget rule.", + "type": "string", + "enum": [ + "PERCENT" + ] + }, + "ProductLocation": { + "description": "The product location of the campaign.\n- SOLD_ON_AMAZON - For products sold on Amazon websites.\n- NOT_SOLD_ON_AMAZON - For products not sold on Amazon websites.\n- SOLD_ON_DTC - Deprecated (For products sold on DTC websites).", + "type": "string", + "enum": [ + "SOLD_ON_AMAZON", + "NOT_SOLD_ON_AMAZON", + "SOLD_ON_DTC" + ] + }, + "SBTargetingGenre": { + "type": "object", + "properties": { + "genreRefinementId": { + "description": "Id of Genre. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Refinement IDs.", + "type": "string" + }, + "name": { + "description": "Name of Genre.", + "type": "string" + }, + "translatedName": { + "description": "Translated name of Genre based off locale sent in request.", + "type": "string" + } + }, + "required": [ + "genreRefinementId" + ] + }, + "ConflictStateExceptionResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/ConflictStateErrorCode" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "OutcomeTypeFilter": { + "description": "Filter entities by outcome type.", + "type": "object", + "properties": { + "include": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CreativeRecommendationsNotFoundError": { + "type": "object", + "properties": { + "code": { + "description": "Not found error code.", + "type": "string", + "enum": [ + "NOT_FOUND" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "UpdateSponsoredBrandsAdGroupsResponseContent": { + "type": "object", + "properties": { + "adGroups": { + "$ref": "#/components/schemas/BulkAdGroupOperationResponse" + } + } + }, + "GetSPBudgetRulesForAdvertiserResponse": { + "type": "object", + "properties": { + "budgetRulesForAdvertiserResponse": { + "minItems": 0, + "maxItems": 30, + "description": "A list of rules created by the advertiser.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SPBudgetRule" + } + }, + "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.", + "type": "string" + } + } + }, + "CreativeRecommendationsInternalServerError": { + "type": "object", + "properties": { + "code": { + "description": "Internal error code.", + "type": "string", + "enum": [ + "INTERNAL_ERROR" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "AdMutationError": { + "type": "object", + "properties": { + "errorType": { + "description": "The type of the error.", + "type": "string" + }, + "errorValue": { + "$ref": "#/components/schemas/AdMutationErrorSelector" + } + }, + "required": [ + "errorType", + "errorValue" + ] + }, + "SBTargetingUnauthorizedExceptionResponseContent": { + "description": "Returns information about an UnauthorizedException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "PerformanceMetricForSB": { + "description": "The advertising performance metric.", + "type": "string", + "enum": [ + "IS", + "NTB", + "ROAS" + ] + }, + "SBInsightsInternalServerExceptionResponseContent": { + "description": "Returns information about an InternalServerException.", + "type": "object", + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + }, + "required": [ + "code", + "details" + ] + }, + "BudgetRecommendationError": { + "description": "Error that occurred when generating budget recommendations.", + "type": "object", + "properties": { + "code": { + "description": "A human-readable description of the enumerated response code in the `code` field.", + "type": "string" + }, + "campaignId": { + "description": "The identifier of a campaign.", + "type": "string" + }, + "index": { + "description": "Correlate the recommendation to the campaign index in the request. Zero-based.", + "type": "number" + }, + "details": { + "description": "An enumerated response code.", + "type": "string" + } + }, + "required": [ + "campaignId", + "code", + "details", + "index" + ] + }, + "DeleteSponsoredBrandsAdsBetaResponseContent": { + "type": "object", + "properties": { + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" + } + } + }, + "RecurrenceType": { + "description": "depicts the type of recurrence", + "type": "string", + "enum": [ + "DAILY", + "WEEKLY" + ] + }, + "BudgetUsagePortfolioBatchError": { + "type": "object", + "properties": { + "portfolioId": { + "description": "ID of requested resource", + "type": "string" + }, + "code": { + "description": "An enumerated error code for machine use.", + "type": "string" + }, + "index": { + "description": "An index to maintain order of the portfolioIds", + "type": "number" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string" + } + } + }, + "BudgetUsagePortfolioRequest": { + "type": "object", + "properties": { + "portfolioIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of portfolio IDs.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CreateSponsoredBrandsVideoAdsRequestContent": { + "type": "object", + "properties": { + "ads": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateVideoAd" + } + } + }, + "required": [ + "ads" + ] + }, + "SBInsightsKeywordAlertType": { + "description": "Keyword alert insights associated with the selected keyword targets and bids.\nLOW_KEYWORD_TRAFFIC is provided if the keyword has very low traffic and is available in all marketplaces.\nLOW_BID is provided if the selected bid is low compared to the historical bids for this keyword\nand is only available in the following marketplaces: US, CA, MX, BR, UK, DE, FR, ES, IT, IN, AE, NL, SE, JP, AU, SG.", + "type": "string", + "enum": [ + "LOW_KEYWORD_TRAFFIC", + "LOW_BID" + ] + }, + "SBKeywordRecommendationImpressionShare": { + "format": "double", + "maximum": 100, + "description": "The account-level ad-attributed impression share for the search-term / keyword. Provides percentage share of all ad impressions the advertiser has for the keyword in the last 7 days. This metric helps advertisers identify potential opportunities based on their share of relevant keywords.", + "type": "number", + "minimum": 0 + }, + "SBTargetingGetTargetableASINCountsResponseContent": { + "description": "Response object for /sb/targets/products/count to get number of targetable asins for refinements provided by the user", + "type": "object", + "properties": { + "asinCounts": { + "$ref": "#/components/schemas/SBTargetingIntegerRange" + } + } + }, + "BudgetRuleResponse": { + "type": "object", + "properties": { + "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" + }, + "ruleId": { + "description": "The rule identifier.", + "type": "string" + }, + "associatedCampaignIds": { + "type": "array", + "items": { + "description": "The campaign identifier for which rule based budget may get updated", + "type": "string" + } + } + } + }, + "ModerationResultsResponse": { + "type": "object", + "properties": { + "moderationResults": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/ModerationResult" + } + }, + "nextToken": { + "$ref": "#/components/schemas/NextToken" + } + } + }, + "GetBudgetRecommendationsRequestContent": { + "type": "object", + "properties": { + "campaignIds": { + "minItems": 1, + "maxItems": 100, + "description": "List of CampaignIds", + "type": "array", + "items": { + "description": "The identifier of a campaign.", + "type": "string" } } }, "required": [ - "ads" + "campaignIds" ] }, - "VideoComponent": { - "description": "Video component which needs to be pre moderated. A publicly accessible videoUrl must be sent.", + "BudgetUsageCampaignRequest": { + "type": "object", + "properties": { + "campaignIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of campaign IDs", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CreateProductCollectionCreativeRequestContent": { + "type": "object", + "properties": { + "adId": { + "description": "The unique ID of a Sponsored Brands ad.", + "type": "string" + }, + "creative": { + "$ref": "#/components/schemas/ProductCollectionCreative" + } + }, + "required": [ + "adId", + "creative" + ] + }, + "PerformanceMeasureCondition": { "type": "object", "required": [ - "componentType", - "id", - "url" + "comparisonOperator", + "metricName", + "threshold" ], "properties": { + "metricName": { + "$ref": "#/components/schemas/PerformanceMetric" + }, + "comparisonOperator": { + "$ref": "#/components/schemas/ComparisonOperator" + }, + "threshold": { + "format": "double", + "description": "The performance threshold value.", + "type": "number" + } + } + }, + "ModerationResultsAccessDeniedError": { + "type": "object", + "properties": { + "code": { + "description": "Access denied error code.", + "type": "string", + "enum": [ + "ACCESS_DENIED" + ] + }, + "details": { + "description": "A human-readable description of the error response.", + "type": "string" + } + } + }, + "VideoComponentResponse": { + "description": "Pre moderation result for a video component", + "type": "object", + "properties": { + "preModerationStatus": { + "description": "The pre moderation status of the component.", + "type": "string", + "enum": [ + "REJECTED", + "APPROVED", + "FAILED", + "RETRYABLE_FAILURE" + ] + }, "componentType": { "description": "Type of the video component.", "type": "string", @@ -8371,305 +10848,256 @@ "landingPage": { "$ref": "#/components/schemas/LandingPage" }, + "policyViolations": { + "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VideoPolicyViolation" + } + }, "id": { - "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", + "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", "type": "string" }, "url": { - "description": "Url of the video to be pre moderated. The url must be publicly accessible.", + "description": "Publicly accessible url of the video that got pre moderated.", "type": "string" } } }, - "budgetIncreaseBy": { + "Subpage": { "type": "object", - "required": [ - "type", - "value" - ], "properties": { - "type": { - "$ref": "#/components/schemas/BudgetChangeType" + "pageTitle": { + "type": "string" }, - "value": { - "format": "double", - "description": "The budget value.", - "type": "number" + "asin": { + "type": "string" + }, + "url": { + "type": "string" } } }, - "VideoEvidence": { - "description": "Structure of a video evidence", + "RecommendedHeadline": { + "description": "Recommended Headline in response object. Recommended headline will be locale specific, i.e. for an asin input in ES, Recommended headline will be in ES.", "type": "object", "properties": { - "start": { - "description": "The start position (in seconds) of the content that violates the specified policy within the video.", - "type": "integer" + "headlineId": { + "description": "Unique Id of Recommended headline.", + "type": "string", + "example": "e991e32c-0136-427a-843b-ff04162f2f91" }, - "end": { - "description": "The end position (in seconds) of the content that violates the specified policy within the video.", - "type": "integer" + "headline": { + "description": "String that contains Recommended headline.", + "type": "string", + "maxLength": 50, + "example": "This is a Recommended headline." } } }, - "ModerationResultsNotFoundError": { + "SBTargetingRatingRange": { + "description": "Rating range is restricted to integers between 0 and 5, inclusive. Min must be less than or equal to max. We use this to retrieve the number of targetable ASINs that falls within this rating range.", "type": "object", "properties": { - "code": { - "description": "Not found error code.", - "type": "string", - "enum": [ - "NOT_FOUND" - ] + "min": { + "maximum": 5, + "type": "integer", + "minimum": 0 }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" + "max": { + "maximum": 5, + "type": "integer", + "minimum": 0 } } }, - "SPRuleType": { - "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", - "type": "string", - "enum": [ - "SCHEDULE", - "PERFORMANCE" - ] - }, - "CreateOrUpdateEntityState": { - "description": "Entity state for create or update operation.", - "type": "string", - "enum": [ - "ENABLED", - "PAUSED" - ] - }, - "ListSponsoredBrandsAdsRequestContent": { + "ImageEvidence": { + "description": "Structure of a image evidence", "type": "object", "properties": { - "campaignIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" - }, - "stateFilter": { - "$ref": "#/components/schemas/EntityStateFilter" - }, - "maxResults": { - "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", - "maximum": 100, - "type": "number", - "minimum": 1 - }, - "nextToken": { - "description": "Token value allowing to navigate to the next response page.", - "type": "string" + "topLeftY": { + "description": "The top left Y-coordinate of the content that violates the specfied policy within the image.", + "type": "integer" }, - "adIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" + "topLeftX": { + "description": "The top left X-coordinate of the content that violates the specfied policy within the image.", + "type": "integer" }, - "adGroupIdFilter": { - "$ref": "#/components/schemas/ObjectIdFilter" + "width": { + "description": "The width of the content that violates the specfied policy within the image.", + "type": "integer" }, - "nameFilter": { - "$ref": "#/components/schemas/NameFilter" + "height": { + "description": "The height of the content that violates the specfied policy within the image.", + "type": "integer" } } }, - "CreateAssociatedBudgetRulesRequest": { + "ListSponsoredBrandsAdsBetaResponseContent": { "type": "object", "properties": { - "budgetRuleIds": { - "maxItems": 25, - "description": "A list of budget rule identifiers.", + "ads": { + "minItems": 0, + "maxItems": 100, "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/Ad" } + }, + "totalResults": { + "description": "The total number of entities.", + "maximum": 100, + "type": "number", + "minimum": 0 + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" } } }, - "Bidding": { + "SBTargetingGetNegativeBrandsResponseContent": { + "description": "Response object for /sb/negativeTargets/brands/recommendations containing list of brands for negative targeting.", "type": "object", "properties": { - "bidOptimization": { - "description": "Whether to use automatic placement level bid optimization. If set to true, Amazon will automatically set the right placement adjustment and the bidAdjustmentsByPlacement field is ignored. If set to false, the bidAdjustmentsByPlacement field will be used to adjust bid on different placements.\nIf this field is changed from false to true, the bidAdjustmentsByPlacement field will be reset to null.", - "type": "boolean" - }, - "bidAdjustmentsByShopperSegment": { - "minItems": 0, - "maxItems": 1, - "description": "Shopper segment level bid adjustment. When both bidAdjustmentsByPlacement and bidAdjustmentsByShopperSegment are specified, the adjustment will be multiplicative.", - "type": "array", - "items": { - "$ref": "#/components/schemas/BidAdjustmentByShopperSegment" - } - }, - "bidAdjustmentsByPlacement": { - "minItems": 0, - "maxItems": 3, - "description": "Placement level bid adjustment. Note that this field can only be set when 'bidOptimization' is set to false.", + "brands": { + "maxItems": 100, + "description": "List of Brands.", "type": "array", "items": { - "$ref": "#/components/schemas/BidAdjustmentByPlacement" + "$ref": "#/components/schemas/SBTargetingBrand" } }, - "bidOptimizationStrategy": { - "$ref": "#/components/schemas/BidOptimizationStrategy" + "nextToken": { + "description": "Operations that return paginated results include a pagination token in this field. 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" } } }, - "ModerationResultsThrottlingError": { + "ImageComponent": { + "description": "Image component which needs to be pre moderated. A publicly accessible imageUrl must be sent.", "type": "object", + "required": [ + "componentType", + "id", + "url" + ], "properties": { - "code": { - "description": "Throttled error code.", + "componentType": { + "description": "Type of the image component.", "type": "string", "enum": [ - "THROTTLED" + "BRAND_LOGO", + "CUSTOM_IMAGE", + "OTHER_IMAGE" ] }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } - }, - "Keyword": { - "description": "Keyword associated with the campaign.", - "type": "object", - "properties": { - "matchType": { - "$ref": "#/components/schemas/MatchType" + "landingPage": { + "$ref": "#/components/schemas/LandingPage" }, - "bid": { - "format": "float", - "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).", - "type": "number" + "id": { + "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", + "type": "string" }, - "keywordText": { - "description": "The keyword text. Maximum of 10 words.", + "url": { + "description": "Url of the image to be pre moderated. The url must be publicly accessible.", "type": "string" } } }, - "SBTargetingLocale": { - "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace.", - "type": "string", - "enum": [ - "ar_AE", - "de_DE", - "en_AE", - "en_AU", - "en_CA", - "en_GB", - "en_IN", - "en_SG", - "en_US", - "es_ES", - "es_MX", - "fr_CA", - "fr_FR", - "hi_IN", - "it_IT", - "ja_JP", - "ko_KR", - "nl_NL", - "pl_PL", - "pt_BR", - "sv_SE", - "ta_IN", - "th_TH", - "tr_TR", - "vi_VN", - "zh_CN" - ] - }, - "CreateSponsoredBrandsCampaignsRequestContent": { + "CreateSponsoredBrandsProductCollectionAdsRequestContent": { "type": "object", "properties": { - "campaigns": { + "ads": { "minItems": 1, "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/CreateCampaign" + "$ref": "#/components/schemas/CreateProductCollectionAd" } } }, "required": [ - "campaigns" + "ads" ] }, - "EntityState": { - "description": "The current resource state.", + "budgetIncreaseBy": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "$ref": "#/components/schemas/BudgetChangeType" + }, + "value": { + "format": "double", + "description": "The budget value.", + "type": "number" + } + } + }, + "SPRuleType": { + "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", "type": "string", "enum": [ - "ENABLED", - "PAUSED", - "ARCHIVED" + "SCHEDULE", + "PERFORMANCE" ] }, - "BulkCampaignOperationResponse": { + "CreativeRecommendationResultEntry": { + "description": "Creative Recommendation Result.", "type": "object", "properties": { - "success": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignMutationSuccessResponseItem" - } + "creativeType": { + "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.", + "type": "string" }, - "error": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignMutationFailureResponseItem" - } + "creativeProperties": { + "$ref": "#/components/schemas/CreativeRecommendationProperties" } } }, - "GetCampaignShopperSegmentForecastRequestContent": { - "description": "Request structure for shopper segment bidding campaign performance forecasts. If campaignId is provided, all other parameters are optional and will be applied on top of existing campaign attributes. If campaignId is not provided, all other parameters, except adGroupId, bidAdjustments, startDate, and endDate, must be provided.", + "ListSponsoredBrandsAdsRequestContent": { "type": "object", "properties": { - "budgetType": { - "$ref": "#/components/schemas/BudgetType" + "campaignIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "adGroups": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/SBForecastingAdGroup" - } + "stateFilter": { + "$ref": "#/components/schemas/EntityStateFilter" }, - "endDate": { - "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}", - "description": "The YYYY-MM-DD end date for the campaign. Must be greater than the value for `startDate`. If not specified, the campaign has no end date and runs continuously.", - "type": "string" + "maxResults": { + "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", + "maximum": 100, + "type": "number", + "minimum": 1 }, - "campaignId": { - "description": "The campaign identifier.", + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", "type": "string" }, - "startDate": { - "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}", - "description": "The YYYY-MM-DD start date for the campaign. If this field is not set to a value, the current date is used.", - "type": "string" + "adIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "budget": { - "format": "float", - "description": "The budget amount associated with the campaign.", - "type": "number" + "adGroupIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + }, + "nameFilter": { + "$ref": "#/components/schemas/NameFilter" } } }, - "NotFoundExceptionResponseContent": { + "InvalidArgumentErrorResponseContent": { "type": "object", "properties": { "code": { - "$ref": "#/components/schemas/NotFoundErrorCode" + "$ref": "#/components/schemas/InvalidArgumentErrorCode" + }, + "requestId": { + "type": "string" }, "message": { "type": "string" @@ -8677,58 +11105,61 @@ }, "required": [ "code", - "message" - ] - }, - "UnauthorizedErrorCode": { - "type": "string", - "enum": [ - "UNAUTHORIZED" + "message", + "requestId" ] }, - "GetSDBudgetRulesForAdvertiserResponse": { + "CreateAssociatedBudgetRulesRequest": { "type": "object", "properties": { - "budgetRulesForAdvertiserResponse": { - "minItems": 0, - "maxItems": 30, - "description": "A list of rules created by the advertiser.", + "budgetRuleIds": { + "maxItems": 25, + "description": "A list of budget rule identifiers.", "type": "array", "items": { - "$ref": "#/components/schemas/SDBudgetRule" + "type": "string" } - }, - "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.", - "type": "string" } } }, - "NameFilter": { - "description": "Filter entities by name.", + "Bidding": { "type": "object", "properties": { - "queryTermMatchType": { - "$ref": "#/components/schemas/QueryTermMatchType" + "bidOptimization": { + "description": "Whether to use automatic placement level bid optimization. If set to true, Amazon will automatically set the right placement adjustment and the bidAdjustmentsByPlacement field is ignored. If set to false, the bidAdjustmentsByPlacement field will be used to adjust bid on different placements.\nIf this field is changed from false to true, the bidAdjustmentsByPlacement field will be reset to null.", + "type": "boolean" + }, + "bidAdjustmentsByShopperSegment": { + "minItems": 0, + "maxItems": 1, + "description": "Shopper segment level bid adjustment. When both bidAdjustmentsByPlacement and bidAdjustmentsByShopperSegment are specified, the adjustment will be multiplicative.", + "type": "array", + "items": { + "$ref": "#/components/schemas/BidAdjustmentByShopperSegment" + } }, - "include": { + "bidAdjustmentsByPlacement": { "minItems": 0, - "maxItems": 100, + "maxItems": 3, + "description": "Placement level bid adjustment. Note that this field can only be set when 'bidOptimization' is set to false.", "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/BidAdjustmentByPlacement" } + }, + "bidOptimizationStrategy": { + "$ref": "#/components/schemas/BidOptimizationStrategy" } } }, - "ModerationResultsBadRequestError": { + "ModerationResultsThrottlingError": { "type": "object", "properties": { "code": { - "description": "Bad request error code.", + "description": "Throttled error code.", "type": "string", "enum": [ - "BAD_REQUEST" + "THROTTLED" ] }, "details": { @@ -8737,323 +11168,233 @@ } } }, - "DateComponent": { - "description": "Date component which needs to be pre moderated. Either startDate or endDate must be populated, or both can be populated.", + "ListSponsoredBrandsCampaignsBetaResponseContent": { "type": "object", - "required": [ - "componentType", - "id" - ], "properties": { - "componentType": { - "description": "Type of the date component.", - "type": "string", - "enum": [ - "CAMPAIGN_DATE" - ] - }, - "endDate": { - "description": "End date of the component in yyyy-MM-dd HH:mm:ss format", - "type": "string" + "campaigns": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/Campaign" + } }, - "id": { - "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.", + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", "type": "string" }, - "startDate": { - "description": "Start date of the component in yyyy-MM-dd HH:mm:ss format", - "type": "string" + "totalCount": { + "description": "The total number of entities.", + "maximum": 100, + "type": "number", + "minimum": 0 } } }, - "ImageCrop": { + "BulkCampaignOperationResponse": { "type": "object", "properties": { - "topLeftY": { - "format": "int64", - "description": "Policy violated region's top left Y-axis pixel value.", - "type": "integer" - }, - "topLeftX": { - "format": "int64", - "description": "Policy violated region's top left X-axis pixel value.", - "type": "integer" - }, - "width": { - "format": "int64", - "description": "Policy violated region's width in pixel.", - "type": "integer" + "success": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CampaignMutationSuccessResponseItem" + } }, - "height": { - "format": "int64", - "description": "Policy violated region's height in pixel.", - "type": "integer" - } - } - }, - "ViolatingAsinEvidence": { - "type": "object", - "properties": { - "asin": { - "description": "ASIN which has the ad policy violation.", - "type": "string" + "error": { + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/CampaignMutationFailureResponseItem" + } } } }, - "SBTargetingIntegerRange": { + "SBInsightsKeywordInsight": { + "description": "Insights for keywords selected for targeting.", "type": "object", "properties": { - "min": { + "alerts": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/components/schemas/SBInsightsKeywordAlertType" + } + }, + "searchTermImpressionShare": { + "format": "double", + "description": "The account-level ad-attributed impression share for the search-term / keyword.\nProvides percentage share of all ad impressions the advertiser has for the keyword in the last 7 days.\nThis metric helps advertisers identify potential opportunities based on their share of relevant keywords.\nThis information is only available for keywords the advertiser targeted with ad impressions.\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP.", + "maximum": 100, + "type": "number", + "minimum": 0 + }, + "matchType": { + "$ref": "#/components/schemas/SBInsightsMatchType" + }, + "adGroupIndex": { "format": "int32", + "description": "Correlates the ad group to the ad group array index specified in the request. Zero-based.", "type": "integer" }, - "max": { + "searchTermImpressionRank": { "format": "int32", + "description": "The account-level ad-attributed impression rank for the search-term / keyword.\nProvides the [1:N] place the advertiser ranks among all advertisers for the keyword by ad impressions in a marketplace in the last 7 days.\nIt tells an advertiser how many advertisers had higher share of ad impressions.\nThis information is only available for keywords the advertiser targeted with ad impressions.\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP.", "type": "integer" - } - } - }, - "SBCampaignBudgetRule": { - "type": "object", - "required": [ - "ruleId" - ], - "properties": { - "ruleState": { - "$ref": "#/components/schemas/state" - }, - "lastUpdatedDate": { - "format": "int64", - "description": "Epoch time of budget rule update. Read-only.", - "type": "number" }, - "createdDate": { - "format": "int64", - "description": "Epoch time of budget rule creation. Read-only.", + "bid": { + "format": "double", + "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).", "type": "number" }, - "ruleDetails": { - "$ref": "#/components/schemas/SBBudgetRuleDetails" - }, - "ruleId": { - "description": "The budget rule identifier.", - "type": "string" + "keywordIndex": { + "format": "int32", + "description": "Correlates the keyword to the keyword array index specified in the request. Zero-based.", + "type": "integer" }, - "ruleStatus": { - "description": "The budget rule evaluation status. Read-only.", + "keywordText": { + "description": "The keyword text. Maximum of 10 words.", "type": "string" } } }, - "NegativeMatchType": { - "description": "The negative match type. For more information, see [negative keyword match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center.", + "UnauthorizedErrorCode": { "type": "string", "enum": [ - "negativeExact", - "negativePhrase" + "UNAUTHORIZED" ] }, - "Recurrence": { + "ModerationResultsBadRequestError": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/RecurrenceType" + "code": { + "description": "Bad request error code.", + "type": "string", + "enum": [ + "BAD_REQUEST" + ] }, - "daysOfWeek": { - "description": "Object representing days of the week for weekly type rule. It is not required for daily recurrence type", - "type": "array", - "items": { - "$ref": "#/components/schemas/DayOfWeek" - } + "details": { + "description": "A human-readable description of the error response.", + "type": "string" } } }, - "NegativeProductExpression": { - "description": "Negative expression settings for the target.", + "CreativeRecommendationByIdResponseContent": { + "description": "Creative Recommendation by Id Response.", "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/NegativeProductExpressionType" - }, - "value": { - "description": "The expression value associated with targets.", + "creativeType": { + "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.", "type": "string" + }, + "creativeProperties": { + "$ref": "#/components/schemas/CreativeRecommendationProperties" } } }, - "SBTargetingInternalServerExceptionResponseContent": { - "description": "Returns information about an InternalServerException.", + "ViolatingAsinEvidence": { "type": "object", "properties": { - "code": { - "description": "The HTTP status code of the response.", - "type": "string" - }, - "details": { - "description": "A human-readable description of the response.", + "asin": { + "description": "ASIN which has the ad policy violation.", "type": "string" } - }, - "required": [ - "code", - "details" - ] + } }, - "SBKeywordRecommendationRequestUrl": { + "SBTargetingIntegerRange": { "type": "object", - "required": [ - "url" - ], "properties": { - "creativeType": { - "$ref": "#/components/schemas/SBKeywordRecommendationCreativeType" - }, - "maxNumSuggestions": { - "format": "int64", - "description": "Maximum number of suggestions to return. Max value is 1000. If not provided, default to 100.", + "min": { + "format": "int32", "type": "integer" }, - "creativeAsins": { - "type": "array", - "items": { - "description": "Optional. An array of creative ASINs that are displayed in the SB creative.", - "maximum": 3, - "type": "string", - "minimum": 0 - } - }, - "locale": { - "description": "Optional locale to request keyword suggestion translations. For example, to request Simplified Chinese translations in US, provide locale “zh_CN”. Response will include both keyword suggestions and their translations. Supported locales include: Simplified Chinese (locale: “zh_CN”) for US, UK and CA. English (locale: “en_GB”) for DE, FR, IT and ES.", - "type": "string" - }, - "url": { - "description": "The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page.", - "type": "string" + "max": { + "format": "int32", + "type": "integer" } } }, - "BrandVideoCreative": { + "SBCampaignBudgetRule": { "type": "object", + "required": [ + "ruleId" + ], "properties": { - "asins": { - "minItems": 1, - "maxItems": 1, - "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" + "ruleState": { + "$ref": "#/components/schemas/state" }, - "videoAssetIds": { - "minItems": 1, - "maxItems": 1, - "description": "An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API.", - "type": "array", - "items": { - "description": "The identifier of image/video asset from the store's asset library", - "type": "string" - } + "lastUpdatedDate": { + "format": "int64", + "description": "Epoch time of budget rule update. Read-only.", + "type": "number" }, - "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.", + "createdDate": { + "format": "int64", + "description": "Epoch time of budget rule creation. Read-only.", + "type": "number" + }, + "ruleDetails": { + "$ref": "#/components/schemas/SBBudgetRuleDetails" + }, + "ruleId": { + "description": "The budget rule identifier.", "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.", + "ruleStatus": { + "description": "The budget rule evaluation status. Read-only.", "type": "string" } - }, - "required": [ - "asins", - "brandLogoAssetId", - "brandName", - "headline", - "videoAssetIds" - ] + } }, - "ViolatingVideoEvidence": { + "Recurrence": { "type": "object", "properties": { - "violatingVideoPosition": { - "$ref": "#/components/schemas/VideoPosition" + "type": { + "$ref": "#/components/schemas/RecurrenceType" + }, + "daysOfWeek": { + "description": "Object representing days of the week for weekly type rule. It is not required for daily recurrence type", + "type": "array", + "items": { + "$ref": "#/components/schemas/DayOfWeek" + } } } }, - "ResponseOutput": { - "description": "The campaign performance forecasts for the specified shopper segment.", + "CreateSponsoredBrandStoreSpotlightAdsBetaResponseContent": { "type": "object", "properties": { - "shopperSegment": { - "$ref": "#/components/schemas/ShopperSegmentType" - }, - "forecasts": { - "$ref": "#/components/schemas/Forecasts" + "ads": { + "$ref": "#/components/schemas/BulkAdOperationResponse" } } }, - "ListCreativesRequestContent": { + "UpdateSponsoredBrandsCampaignsBetaRequestContent": { "type": "object", "properties": { - "creativeTypeFilter": { - "uniqueItems": true, - "description": "Filters creatives by optional creative type.\nBy default, you can list all creative versions regardless of creative type.", - "type": "array", - "items": { - "$ref": "#/components/schemas/CreativeType" - } - }, - "adId": { - "description": "The unique ID of a Sponsored Brands ad.", - "type": "string" - }, - "nextToken": { - "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.", - "type": "string" - }, - "maxResults": { - "description": "Set a limit on the number of results returned by an operation.", - "maximum": 100, - "type": "number", - "minimum": 1 - }, - "creativeVersionFilter": { - "maxItems": 100, - "uniqueItems": true, - "description": "Filters creatives by optional creative version.\nThis means you can either list all creative versions without specific creative version filter, all just retrieve a single creative version by providing a specific version identifier.", - "type": "array", - "items": { - "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.", - "type": "string" - } - }, - "creativeStatusFilter": { - "uniqueItems": true, - "description": "Filters creatives by optional creative status.\nBy default, you can list all creative versions regardless of creative status.", + "campaigns": { + "minItems": 1, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/CreativeStatus" + "$ref": "#/components/schemas/UpdateCampaign" } } }, "required": [ - "adId" + "campaigns" ] }, - "BudgetType": { - "description": "For the lifetime budget type, `startDate` and `endDate` must be specified.", - "type": "string", - "enum": [ - "DAILY", - "LIFETIME" - ] + "ViolatingVideoEvidence": { + "type": "object", + "properties": { + "violatingVideoPosition": { + "$ref": "#/components/schemas/VideoPosition" + } + } }, "DateRangeTypeRuleDuration": { "description": "Object representing date range type rule duration.", @@ -9072,76 +11413,96 @@ } } }, - "BidAdjustment": { - "description": "Bid adjustment settings for desired placement or shopper segment.", + "ListSponsoredBrandsAdsBetaRequestContent": { "type": "object", "properties": { - "bidAdjustmentPercent": { - "format": "float", - "description": "Bid adjustment for placement groups and shopper segments. Value is a percentage to two decimal places. For bid adjustments in placement groups, min is -99.00 and max is 900.00. For bid adjustments in shopper segments, min is 0.00 and max is 900.00. For example: If -40.00 is set for a $5.00 bid, the resulting bid is $3.00.", - "maximum": 900, + "campaignIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + }, + "stateFilter": { + "$ref": "#/components/schemas/EntityStateFilter" + }, + "maxResults": { + "description": "Number of records to include in the paginated response. Defaults to max page size for given API.", + "maximum": 100, "type": "number", - "minimum": -99 + "minimum": 1 + }, + "nextToken": { + "description": "Token value allowing to navigate to the next response page.", + "type": "string" + }, + "adIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" }, - "bidAdjustmentPredicate": { - "$ref": "#/components/schemas/BidAdjustmentPredicate" + "adGroupIdFilter": { + "$ref": "#/components/schemas/ObjectIdFilter" + }, + "nameFilter": { + "$ref": "#/components/schemas/NameFilter" } } }, - "CreateSponsoredBrandsAuthorCollectionAdsResponseContent": { + "CreateSponsoredBrandStoreSpotlightAdsBetaRequestContent": { "type": "object", "properties": { "ads": { - "$ref": "#/components/schemas/BulkAdOperationResponse" - } - } - }, - "CampaignMutationFailureResponseItem": { - "type": "object", - "properties": { - "index": { - "description": "the index of the campaign in the array from the request body.", - "maximum": 10, - "type": "number", - "minimum": 0 - }, - "errors": { - "minItems": 0, - "maxItems": 100, - "description": "A list of validation errors.", + "minItems": 1, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/CampaignMutationError" + "$ref": "#/components/schemas/CreateStoreSpotlightAd" } } }, "required": [ - "index" + "ads" ] }, - "RuleBasedBudget": { + "Creative": { "type": "object", "properties": { - "isProcessing": { - "type": "boolean" + "brandLogoCrop": { + "$ref": "#/components/schemas/BrandLogoCrop" }, - "applicableRuleName": { + "brandName": { + "minLength": 1, + "type": "string", + "maxLength": 30 + }, + "customImageAssetId": { "type": "string" }, - "value": { - "format": "double", - "type": "number" + "consentToTranslate": { + "description": "If set to true and video asset is not in the marketplace's default language, Amazon will attempt to translate the video to the marketplace's default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information.", + "type": "boolean" }, - "applicableRuleId": { + "customImages": { + "minItems": 0, + "maxItems": 5, + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomImage" + } + }, + "customImageCrop": { + "$ref": "#/components/schemas/CustomImageCrop" + }, + "customImageUrl": { "type": "string" - } - } - }, - "Creative": { - "type": "object", - "properties": { - "brandLogoCrop": { - "$ref": "#/components/schemas/BrandLogoCrop" + }, + "type": { + "$ref": "#/components/schemas/CreativeType" + }, + "originalVideoAssetIds": { + "minItems": 1, + "maxItems": 1, + "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then `originalVideoAssetIds` will return the original video assetId whereas `videoAssetIds` will return translated video assetId. In all other cases, 'originalVideoAssetIds' and `videoAssetIds` both will return original video assetId.", + "type": "array", + "items": { + "type": "string" + } }, "asins": { "minItems": 0, @@ -9154,14 +11515,6 @@ "brandLogoUrl": { "type": "string" }, - "brandName": { - "minLength": 1, - "type": "string", - "maxLength": 30 - }, - "customImageAssetId": { - "type": "string" - }, "subpages": { "minItems": 3, "maxItems": 3, @@ -9170,12 +11523,6 @@ "$ref": "#/components/schemas/Subpage" } }, - "customImageCrop": { - "$ref": "#/components/schemas/CustomImageCrop" - }, - "customImageUrl": { - "type": "string" - }, "videoAssetIds": { "minItems": 1, "maxItems": 1, @@ -9188,9 +11535,6 @@ "brandLogoAssetID": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/CreativeType" - }, "headline": { "minLength": 1, "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.", @@ -9264,19 +11608,6 @@ } } }, - "BidAdjustmentByPlacement": { - "type": "object", - "properties": { - "percentage": { - "maximum": 900, - "type": "number", - "minimum": -99 - }, - "placement": { - "$ref": "#/components/schemas/Placement" - } - } - }, "CreateSponsoredBrandsBrandVideoAdsResponseContent": { "type": "object", "properties": { @@ -9323,17 +11654,6 @@ } } }, - "AdMutationErrorSelector": { - "type": "object", - "properties": { - "rangeError": { - "$ref": "#/components/schemas/RangeError" - }, - "otherError": { - "$ref": "#/components/schemas/OtherError" - } - } - }, "CreateVideoCreativeResponseContent": { "description": "Create creative response", "type": "object", @@ -9344,26 +11664,9 @@ }, "creativeVersion": { "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.", - "type": "string" - } - } - }, - "ErrorCause": { - "description": "Structure describing error cause - location in the payload and data causing error.", - "type": "object", - "properties": { - "location": { - "description": "Error location, JSON Path expression specifying element of API payload causing error.", - "type": "string" - }, - "trigger": { - "description": "Optional value causing error.", - "type": "string" - } - }, - "required": [ - "location" - ] + "type": "string" + } + } }, "CampaignServingStatus": { "description": "`Notice: the servingStatus enums have not been finalized yet.`\nThe campaign serving status determined by system.\n- ADVERTISER_STATUS_ENABLED - Advertiser's status is enabled\n- ADVERTISER_POLICING_PENDING_REVIEW - Avertiser is pending review because of policing reason\n- ADVERTISER_POLICING_SUSPENDED - Advertiser's status is suspended because of policing reason\n- ADVERTISER_PAUSED - Advertiser's status is paused\n- ADVERTISER_ARCHIVED - Advertiser's status is archived\n- ADVERTISER_PAYMENT_FAILURE - Advertiser's internal status is suspended\n- ADVERTISER_ACCOUNT_OUT_OF_BUDGET - Advertiser is out of budget for all Sponsored Ads campaigns\n- ADVERTISER_OUT_OF_PREPAY_BALANCE - Advertiser is out of prepay balance for all Sponsored Ads campaigns\n- ADVERTISER_EXCEED_SPENDS_LIMIT - Advertiser spends over the daily limit\n\n- CAMPAIGN_STATUS_ENABLED - Campaign's status is enabled.\n- CAMPAIGN_PAUSED - Campaign's status is paused.\n- CAMPAIGN_ARCHIVED - Campaign's status is archived.\n- CAMPAIGN_INCOMPLETE - Campaign does not contain any ads or targeting clauses.\n- CAMPAIGN_OUT_OF_BUDGET - Campaign is out of budget.\n\n- PORTFOLIO_STATUS_ENABLED - Portfolio's status is enabled\n- PORTFOLIO_PAUSED - Portfolio's status is paused\n- PORTFOLIO_ARCHIVED - Portfolio's status is archived\n- PORTFOLIO_OUT_OF_BUDGET - Portfolio is out of budget\n- PORTFOLIO_PENDING_START_DATE - Portfolio's start date is in the future\n- PORTFOLIO_ENDED - Portfolio's end date is in the past.\n\n- INELIGIBLE - Ad Offer is ineligible\n- ELIGIBLE - Ad Offer is eligible\n- ENDED - Campaign's end date is in the past.\n- PENDING_REVIEW - Campaign is pending review.\n- PENDING_START_DATE - Campaign's start date is in the future.\n- REJECTED - Campaign is rejected by moderation process.\n- UNKNOWN - Serving status is unknown. Please contact us for support.", @@ -9475,31 +11778,6 @@ "creative" ] }, - "ObjectIdFilter": { - "description": "Filter entities by the list of objectIds.", - "type": "object", - "properties": { - "include": { - "minItems": 0, - "maxItems": 10, - "type": "array", - "items": { - "description": "Entity object identifier.", - "type": "string" - } - } - } - }, - "PerformanceMetric": { - "description": "The advertising performance metric.", - "type": "string", - "enum": [ - "ACOS", - "CTR", - "CVR", - "ROAS" - ] - }, "ImagePolicyViolation": { "description": "Structure of policy violation for a image component", "type": "object", @@ -9541,45 +11819,23 @@ } } }, - "GetSBBudgetRuleResponse": { + "ImageResult": { "type": "object", "properties": { - "budgetRule": { - "$ref": "#/components/schemas/SBBudgetRule" + "imageAltText": { + "description": "Alt text for this image", + "type": "string" + }, + "imageUrl": { + "type": "string" } } }, - "VideoPolicyViolation": { - "description": "Structure of policy violation for a video component", + "GetSBBudgetRuleResponse": { "type": "object", "properties": { - "policyDescription": { - "description": "A human-readable description of the policy.", - "type": "string" - }, - "videoEvidences": { - "description": "List of evidences for the policy violations detected on the video component.", - "type": "array", - "items": { - "$ref": "#/components/schemas/VideoEvidence" - } - }, - "name": { - "description": "A policy violation code.", - "type": "string" - }, - "type": { - "description": "Type of policy violation.", - "type": "string", - "enum": [ - "WARNING", - "REJECTED" - ] - }, - "policyLinkUrl": { - "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.", - "type": "string", - "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol" + "budgetRule": { + "$ref": "#/components/schemas/SBBudgetRule" } } }, @@ -9600,101 +11856,6 @@ } } }, - "CreateAuthorCollectionAd": { - "type": "object", - "properties": { - "landingPage": { - "$ref": "#/components/schemas/LandingPage" - }, - "name": { - "minLength": 1, - "description": "The name of the ad.", - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/CreateOrUpdateEntityState" - }, - "adGroupId": { - "description": "The adGroup identifier.", - "type": "string" - }, - "creative": { - "$ref": "#/components/schemas/CreateAuthorCollectionCreative" - } - }, - "required": [ - "adGroupId", - "creative", - "landingPage", - "name", - "state" - ] - }, - "UpdateSponsoredBrandsCampaignsRequestContent": { - "type": "object", - "properties": { - "campaigns": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/UpdateCampaign" - } - } - }, - "required": [ - "campaigns" - ] - }, - "Forecast": { - "description": "The lower and upper bound forecast values.", - "type": "object", - "properties": { - "upperBound": { - "description": "The forecasted number of shoppers who will newly join the associated shopper segment.", - "type": "number", - "minimum": 0 - }, - "lowerBound": { - "description": "The forecasted number of shoppers who will newly join the associated shopper segment.", - "type": "number", - "minimum": 0 - } - } - }, - "CreateSponsoredBrandsAuthorCollectionAdsRequestContent": { - "type": "object", - "properties": { - "ads": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateAuthorCollectionAd" - } - } - }, - "required": [ - "ads" - ] - }, - "CreateSponsoredBrandStoreSpotlightAdsRequestContent": { - "type": "object", - "properties": { - "ads": { - "minItems": 1, - "maxItems": 10, - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateStoreSpotlightAd" - } - } - }, - "required": [ - "ads" - ] - }, "DeleteSponsoredBrandsCampaignsRequestContent": { "type": "object", "properties": { @@ -9703,49 +11864,6 @@ } } }, - "UnauthorizedExceptionResponseContent": { - "type": "object", - "properties": { - "code": { - "$ref": "#/components/schemas/UnauthorizedErrorCode" - }, - "message": { - "description": "Human readable error message.", - "type": "string" - } - }, - "required": [ - "code", - "message" - ] - }, - "CreateVideoAd": { - "type": "object", - "properties": { - "name": { - "minLength": 1, - "description": "The name of the ad.", - "type": "string", - "maxLength": 128 - }, - "state": { - "$ref": "#/components/schemas/CreateOrUpdateEntityState" - }, - "adGroupId": { - "description": "The adGroup identifier.", - "type": "string" - }, - "creative": { - "$ref": "#/components/schemas/CreateVideoCreative" - } - }, - "required": [ - "adGroupId", - "creative", - "name", - "state" - ] - }, "ComparisonOperator": { "description": "The comparison operator.", "type": "string", @@ -9756,43 +11874,6 @@ "GREATER_THAN_OR_EQUAL_TO" ] }, - "SBTargetingBrand": { - "type": "object", - "properties": { - "brandRefinementId": { - "description": "Id of brand. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Brand Refinement IDs.", - "type": "string" - }, - "name": { - "description": "Name of brand.", - "type": "string" - } - }, - "required": [ - "brandRefinementId" - ] - }, - "PerformanceMeasureConditionForSB": { - "type": "object", - "required": [ - "comparisonOperator", - "metricName", - "threshold" - ], - "properties": { - "metricName": { - "$ref": "#/components/schemas/PerformanceMetricForSB" - }, - "comparisonOperator": { - "$ref": "#/components/schemas/ComparisonOperator" - }, - "threshold": { - "format": "double", - "description": "The performance threshold value.", - "type": "number" - } - } - }, "TextRecommendation": { "type": "object", "properties": { @@ -9806,53 +11887,51 @@ } } }, - "NextToken": { - "description": "Operations that return paginated results include a pagination token in this field. 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" - }, - "SDListAssociatedBudgetRulesResponse": { + "SBKeywordRecommendationThemeRequest": { "type": "object", "properties": { - "associatedRules": { - "description": "A list of associated budget rules.", + "themes": { + "minItems": 1, + "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/SDBudgetRule" + "$ref": "#/components/schemas/SBKeywordRecommendationThemes" } - } - } - }, - "SDHeadlineRecommendationResponse": { - "description": "Response structure of SD headline recommendation API.", - "type": "object", - "properties": { - "requestId": { - "description": "An identifier for request made which is generated by server.", - "type": "string" }, - "recommendations": { + "maxNumSuggestions": { + "format": "int32", + "description": "Maximum number of suggestions to return for each theme. Max value is 1000. If not provided, default to 100.", + "maximum": 1000, + "type": "integer", + "minimum": 1 + }, + "landingPages": { "minItems": 1, - "maxItems": 10, - "description": "Recommendations are sorted, i.e., more suitable headline has lesser array index value.", + "maxItems": 100, "type": "array", "items": { - "$ref": "#/components/schemas/RecommendedHeadline" + "$ref": "#/components/schemas/SBKeywordRecommendationLandingPage" } } - } - }, - "CreateBrandVideoCreativeResponseContent": { - "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" - } + }, + "example": { + "themes": [ + { + "themeType": "KEYWORDS_RELATED_TO_YOUR_BRAND" + }, + { + "themeType": "KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES" + } + ], + "landingPage": [ + { + "url": "www.amazon.com/sample-landing-page-1" + }, + { + "url": "www.amazon.com/sample-landing-page-2" + } + ], + "maxNumSuggestions": "100" } }, "CreateSponsoredBrandsBrandVideoAdsRequestContent": { @@ -9871,24 +11950,6 @@ "ads" ] }, - "SBTargetingGetTargetableCategoriesResponseContent": { - "description": "Response object for /sb/targets/categories containing all targetable categories for the advertiser's marketplace.", - "type": "object", - "properties": { - "nextToken": { - "description": "Operations that return paginated results include a pagination token in this field. 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" - }, - "categoryTree": { - "maxItems": 5000, - "description": "List of categories.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SBTargetingCategory" - } - } - } - }, "ViolatingImageContent": { "type": "object", "properties": { @@ -9910,30 +11971,6 @@ } } }, - "SBRuleBasedBudget": { - "type": "object", - "properties": { - "executionTime": { - "format": "int64", - "description": "Epoch time of budget rule execution.", - "type": "number" - }, - "appliedRule": { - "$ref": "#/components/schemas/SBBudgetRule" - }, - "ruleBasedBudgetValue": { - "description": "The budget value.", - "type": "number" - }, - "dailyBudgetValue": { - "description": "The daily budget value.", - "type": "number" - }, - "performanceMetric": { - "$ref": "#/components/schemas/PerformanceMetricValue" - } - } - }, "SBBudgetRulesRecommendationError": { "description": "The Error Response Object.", "type": "object", @@ -9961,31 +11998,6 @@ } } }, - "ModerationResultsInternalServerError": { - "type": "object", - "properties": { - "code": { - "description": "Internal error code.", - "type": "string", - "enum": [ - "INTERNAL_ERROR" - ] - }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" - } - } - }, - "TextRecommendations": { - "minItems": 0, - "maxItems": 5, - "description": "Ordered list of recommendations in each group.", - "type": "array", - "items": { - "$ref": "#/components/schemas/TextRecommendation" - } - }, "BudgetUsageCampaign": { "type": "object", "properties": { @@ -10023,6 +12035,25 @@ } } }, + "UnauthorizedErrorResponseContent": { + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/UnauthorizedErrorCode" + }, + "requestId": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message", + "requestId" + ] + }, "AdServingStatus": { "description": "The ad serving status determined by system.\n- AD_STATUS_LIVE - Ad's status is enabled.\n- AD_POLICING_PENDING_REVIEW - Ad is pending review because of policing reason.\n- AD_POLICING_SUSPENDED - Ad is suspended review because of policing reason.\n- AD_PAUSED - Ad's status is paused.\n- AD_ARCHIVED - Ad's status is archived.\n\n- AD_GROUP_STATUS_ENABLED - Ad group's (parent) status is enabled.\n- AD_GROUP_PAUSED - Ad group's (parent) status is paused.\n- AD_GROUP_ARCHIVED - Ad group's (parent) status is archived.\n- AD_GROUP_INCOMPLETE - Ad group (parent) does not contain any ads or targeting clauses.\n- AD_GROUP_POLICING_PENDING_REVIEW - Ad group is pending review because of policing reason\n- AD_GROUP_POLICING_CREATIVE_REJECTED - Ad group is rejected due to creative because of policing reason\n- AD_GROUP_LOW_BID - Ad group is less than the minimum allowed bid in its marketplace\n\n- ADVERTISER_STATUS_ENABLED - Advertiser's status is enabled\n- ADVERTISER_POLICING_PENDING_REVIEW - Avertiser is pending review because of policing reason\n- ADVERTISER_POLICING_SUSPENDED - Advertiser's status is suspended because of policing reason\n- ADVERTISER_PAUSED - Advertiser's status is paused\n- ADVERTISER_ARCHIVED - Advertiser's status is archived\n- ADVERTISER_PAYMENT_FAILURE - Advertiser's internal status is suspended\n- ADVERTISER_ACCOUNT_OUT_OF_BUDGET - Advertiser is out of budget for all Sponsored Ads campaigns\n- ADVERTISER_OUT_OF_PREPAY_BALANCE - Advertiser is out of prepay balance for all Sponsored Ads campaigns\n- ADVERTISER_EXCEED_SPENDS_LIMIT - Advertiser spends over the daily limit\n\n- CAMPAIGN_STATUS_ENABLED - Campaign's (parent) status is enabled.\n- CAMPAIGN_PAUSED - Campaign's (parent) status is paused.\n- CAMPAIGN_ARCHIVED - Campaign's (parent) status is archived.\n- CAMPAIGN_INCOMPLETE - Campaign (parent) does not contain any ads or targeting clauses.\n- CAMPAIGN_OUT_OF_BUDGET - Campaign (parent) is out of budget.\n\n- PORTFOLIO_STATUS_ENABLED - Portfolio's (parent) status is enabled\n- PORTFOLIO_PAUSED - Portfolio's (parent) status is paused\n- PORTFOLIO_ARCHIVED - Portfolio's (parent) status is archived\n- PORTFOLIO_OUT_OF_BUDGET - Portfolio (parent) is out of budget\n- PORTFOLIO_PENDING_START_DATE - Portfolio's (parent) start date is in the future\n- PORTFOLIO_ENDED - Portfolio's (parent) end date is in the past.\n\n- INELIGIBLE - Ad is ineligible.\n- ELIGIBLE - Ad is eligible.\n- ENDED - Campaign's (parent) end date is in the past.\n- PENDING_REVIEW - Campaign (parent) is pending review.\n- PENDING_START_DATE - Campaign's (parent) start date is in the future.\n- REJECTED - Campaign (parent) is rejected by moderation process.\n- UNKNOWN - Serving status is unknown. Please contact us for support.", "type": "string", @@ -10156,38 +12187,6 @@ } } }, - "SPBudgetRule": { - "type": "object", - "required": [ - "ruleId" - ], - "properties": { - "ruleState": { - "$ref": "#/components/schemas/state" - }, - "lastUpdatedDate": { - "format": "int64", - "description": "Epoch time of budget rule update. Read-only.", - "type": "number" - }, - "createdDate": { - "format": "int64", - "description": "Epoch time of budget rule creation. Read-only.", - "type": "number" - }, - "ruleDetails": { - "$ref": "#/components/schemas/SPBudgetRuleDetails" - }, - "ruleId": { - "description": "The budget rule identifier.", - "type": "string" - }, - "ruleStatus": { - "description": "The budget rule status. Read-only.", - "type": "string" - } - } - }, "CreateSponsoredBrandsVideoAdsResponseContent": { "type": "object", "properties": { @@ -10196,76 +12195,21 @@ } } }, - "AdExtendedData": { - "type": "object", - "properties": { - "servingStatus": { - "$ref": "#/components/schemas/AdServingStatus" - }, - "lastUpdateDate": { - "description": "Date of last update in epoch time.", - "type": "number" - }, - "creationDate": { - "description": "Creation date in epoch time.", - "type": "number" - } - } - }, - "AsinComponentResponse": { - "description": "Pre-moderation result for an Asin component", + "CreateSponsoredBrandsBrandVideoAdsBetaRequestContent": { "type": "object", "properties": { - "preModerationStatus": { - "description": "The pre-moderation status of the component.", - "type": "string", - "enum": [ - "REJECTED", - "APPROVED", - "FAILED", - "RETRYABLE_FAILURE" - ] - }, - "componentType": { - "description": "Type of Asin component.", - "type": "string", - "enum": [ - "LANDING_ASIN", - "PRODUCT_ASIN" - ] - }, - "policyViolations": { - "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.", + "ads": { + "minItems": 1, + "maxItems": 10, "type": "array", "items": { - "$ref": "#/components/schemas/AsinPolicyViolation" + "$ref": "#/components/schemas/CreateBrandVideoAd" } - }, - "asin": { - "description": "Pre-moderated Asin Id.", - "type": "string" - }, - "id": { - "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.", - "type": "string" - } - } - }, - "CreativeRecommendationsThrottlingError": { - "type": "object", - "properties": { - "code": { - "description": "Throttled error code.", - "type": "string", - "enum": [ - "THROTTLED" - ] - }, - "details": { - "description": "A human-readable description of the error response.", - "type": "string" } - } + }, + "required": [ + "ads" + ] }, "BrandLogoCrop": { "description": "The crop to apply to the selected Brand logo. A Brand logo must have minimum dimensions of 400x400. If a brandLogoAssetID is supplied but a crop is not, the crop will be defaulted to the whole image.", @@ -10285,35 +12229,6 @@ } } }, - "NegativeKeyword": { - "description": "Negative keyword associated with the campaign.", - "type": "object", - "properties": { - "matchType": { - "$ref": "#/components/schemas/NegativeMatchType" - }, - "keywordText": { - "description": "The keyword text. Maximum of 10 words.", - "type": "string" - } - } - }, - "CreateStoreSpotlightCreativeRequestContent": { - "type": "object", - "properties": { - "adId": { - "description": "The unique ID of a Sponsored Brands ad.", - "type": "string" - }, - "creative": { - "$ref": "#/components/schemas/StoreSpotlightCreative" - } - }, - "required": [ - "adId", - "creative" - ] - }, "UpdateSBBudgetRulesRequest": { "type": "object", "properties": { @@ -10338,31 +12253,31 @@ } } }, - "PerformanceMetricValue": { - "description": "An object giving the name of the performance metric and its value when the rule was evaluated", + "BudgetRuleError": { + "description": "The Error Response Object.", "type": "object", "properties": { - "name": { - "description": "Name of the performance metric", + "code": { + "description": "An enumerated error code for machine use.", "type": "string" }, - "value": { - "format": "double", - "description": "Value of the performance metric", - "type": "number" + "details": { + "description": "A human-readable description of the response.", + "type": "string" } } - }, - "BudgetRuleError": { - "description": "The Error Response Object.", + }, + "ListThemesRequestContent": { "type": "object", "properties": { - "code": { - "description": "An enumerated error code for machine use.", - "type": "string" + "maxResults": { + "description": "Optional. The max limit for the number of themes it can return.", + "maximum": 100, + "type": "number", + "minimum": 1 }, - "details": { - "description": "A human-readable description of the response.", + "nextToken": { + "description": "Optional. The pagination token to retrieve the next page of results.", "type": "string" } } @@ -10389,26 +12304,35 @@ "reason" ] }, - "CreativeStatus": { - "description": "The lifecycle status of a creative", - "type": "string", - "enum": [ - "SUBMITTED_FOR_MODERATION", - "PENDING_MODERATION_REVIEW", - "APPROVED_BY_MODERATION", - "REJECTED_BY_MODERATION", - "PUBLISHED" - ] - }, - "BidAdjustmentPredicate": { - "description": "Desired placement or shopper segment where bid adjustment will be applied.", - "type": "string", - "enum": [ - "PLACEMENT_GROUP_TOP", - "PLACEMENT_GROUP_OTHER", - "PLACEMENT_GROUP_DETAIL_PAGE", - "PLACEMENT_GROUP_HOME", - "SHOPPER_SEGMENT_NEW_TO_BRAND_PURCHASE" + "CreateExtendedProductCollectionAd": { + "type": "object", + "properties": { + "landingPage": { + "$ref": "#/components/schemas/LandingPage" + }, + "name": { + "minLength": 1, + "description": "The name of the ad.", + "type": "string", + "maxLength": 255 + }, + "state": { + "$ref": "#/components/schemas/CreateOrUpdateEntityState" + }, + "adGroupId": { + "description": "The adGroup identifier.", + "type": "string" + }, + "creative": { + "$ref": "#/components/schemas/CreateExtendedProductCollectionCreative" + } + }, + "required": [ + "adGroupId", + "creative", + "landingPage", + "name", + "state" ] }, "CreateSponsoredBrandsAdGroupsRequestContent": { @@ -10452,37 +12376,6 @@ } } }, - "ListCreativesResultEntry": { - "description": "Creative", - "type": "object", - "properties": { - "adId": { - "description": "The unique ID of a Sponsored Brands ad.", - "type": "string" - }, - "creationTime": { - "format": "double", - "type": "number" - }, - "creativeType": { - "$ref": "#/components/schemas/CreativeType" - }, - "creativeVersion": { - "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.", - "type": "string" - }, - "creativeStatus": { - "$ref": "#/components/schemas/CreativeStatus" - }, - "creativeProperties": { - "$ref": "#/components/schemas/CreativeProperties" - }, - "lastUpdateTime": { - "format": "double", - "type": "number" - } - } - }, "BulkAdOperationResponse": { "type": "object", "properties": { @@ -10534,6 +12427,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,37 +12440,32 @@ }, "priceRange": { "$ref": "#/components/schemas/SBTargetingPriceRange" - }, - "isPrimeShopping": { - "description": "Indicates if products have prime shipping", - "type": "boolean" } }, "required": [ "category" ] }, - "DateError": { - "description": "Errors related to dates.", + "ListThemesResponseContent": { "type": "object", "properties": { - "reason": { - "description": "Exact error reason..", - "type": "string" - }, - "cause": { - "$ref": "#/components/schemas/ErrorCause" + "themes": { + "minItems": 0, + "maxItems": 100, + "description": "List of themes", + "type": "array", + "items": { + "$ref": "#/components/schemas/Theme" + } }, - "message": { - "description": "Human readable error message.", + "nextToken": { + "description": "If nextToken is not null, it means there are more results.", "type": "string" + }, + "totalCount": { + "type": "number" } - }, - "required": [ - "cause", - "message", - "reason" - ] + } }, "TextPosition": { "type": "object", @@ -10590,80 +12482,6 @@ } } }, - "AssociatedCampaign": { - "type": "object", - "required": [ - "campaignId", - "campaignName", - "ruleStatus" - ], - "properties": { - "campaignId": { - "description": "The campaign identifier.", - "type": "string" - }, - "ruleStatus": { - "description": "The budget rule evaluation status for this campaign. Read-only.", - "type": "string" - }, - "campaignName": { - "description": "The campaign name.", - "type": "string" - } - } - }, - "PolicyViolation": { - "type": "object", - "properties": { - "policyDescription": { - "description": "A human-readable description of the policy.", - "type": "string" - }, - "violatingTextContents": { - "minItems": 0, - "maxItems": 200, - "type": "array", - "items": { - "$ref": "#/components/schemas/ViolatingTextContent" - } - }, - "violatingImageContents": { - "minItems": 0, - "maxItems": 200, - "type": "array", - "items": { - "$ref": "#/components/schemas/ViolatingImageContent" - } - }, - "policyLinkUrl": { - "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.", - "type": "string" - }, - "violatingVideoContents": { - "minItems": 0, - "maxItems": 200, - "type": "array", - "items": { - "$ref": "#/components/schemas/ViolatingVideoContent" - } - }, - "violatingAsinContents": { - "minItems": 0, - "maxItems": 200, - "type": "array", - "items": { - "$ref": "#/components/schemas/ViolatingAsinContent" - } - } - } - }, - "SBKeywordRecommendationType": { - "description": "A recommendation identifier that describes the suggested action for the recommendation.\n|Identifier|Description|\n|----------|-----------|\n|addKeyword|The suggested action is to add the keyword.|\n
", - "type": "string", - "enum": [ - "addKeyword" - ] - }, "CampaignMutationError": { "type": "object", "properties": { @@ -10680,29 +12498,6 @@ "errorValue" ] }, - "ListSponsoredBrandsAdGroupsResponseContent": { - "type": "object", - "properties": { - "totalResults": { - "description": "The total number of entities.", - "maximum": 100, - "type": "number", - "minimum": 0 - }, - "adGroups": { - "minItems": 0, - "maxItems": 100, - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroup" - } - }, - "nextToken": { - "description": "Token value allowing to navigate to the next response page.", - "type": "string" - } - } - }, "AdSuccessResponseItem": { "type": "object", "properties": { @@ -10711,7 +12506,7 @@ "type": "string" }, "ad": { - "$ref": "#/components/schemas/Ad" + "$ref": "#/components/schemas/MultiAdGroupAd" }, "index": { "description": "The index in the original list from the request.", @@ -10727,22 +12522,6 @@ "DisassociateAssociatedBudgetRuleResponse": { "type": "object" }, - "ThrottlingExceptionResponseContent": { - "type": "object", - "properties": { - "code": { - "$ref": "#/components/schemas/ThrottledErrorCode" - }, - "message": { - "description": "Human readable error message.", - "type": "string" - } - }, - "required": [ - "code", - "message" - ] - }, "SDHeadlineRecommendationInternalServerException": { "type": "object", "properties": { @@ -10760,6 +12539,7 @@ } }, "CampaignExtendedData": { + "description": "CampaignExtendedData can only be retrieved via the list API. It won't be available in the response during update/create.", "type": "object", "properties": { "servingStatus": { @@ -10769,6 +12549,15 @@ "description": "Date of last update in epoch time.", "type": "number" }, + "servingStatusDetails": { + "minItems": 0, + "maxItems": 100, + "description": "The serving status reasons of the Campaign.", + "type": "array", + "items": { + "type": "string" + } + }, "creationDate": { "description": "Creation date in epoch time.", "type": "number" @@ -10806,25 +12595,53 @@ "type": "string" } } - }, - "SPBudgetHistory": { - "type": "object", - "properties": { - "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.", - "type": "string" - }, - "history": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SPRuleBasedBudget" - } - } - } } }, "requestBodies": {}, "responses": { + "SBKeywordRecommendationThemeResponse": { + "description": "Successful theme keyword recommendations response.", + "content": { + "application/vnd.sbkeywordrecommendationtheme.v3+json": { + "schema": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/SBKeywordRecommendationThemeSuggestion" + }, + "example": [ + { + "keywords": [ + { + "recommendationId": "recommendationId1", + "value": "running shoes" + }, + { + "recommendationId": "recommendationId2", + "value": "shoes" + } + ], + "themeType": "KEYWORDS_RELATED_TO_YOUR_BRAND" + }, + { + "keywords": [ + { + "recommendationId": "recommendationId3", + "value": "backpacks" + }, + { + "recommendationId": "recommendationId4", + "value": "camping backpack" + } + ], + "themeType": "KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES" + } + ] + } + } + } + }, "SBKeywordRecommendationResponse": { "description": "Successful recommendations response", "content": { @@ -10837,8 +12654,10 @@ }, "example": [ { + "searchTermImpressionShare": 1, "matchType": "PHRASE", "translation": "跑鞋", + "searchTermImpressionRank": 10, "recommendationId": "1111111111", "type": "addKeyword", "value": "running shoes" diff --git a/docs/schemas/sponsored-brands.json b/docs/schemas/sponsored-brands.json index af528dd..d3e2f1e 100644 --- a/docs/schemas/sponsored-brands.json +++ b/docs/schemas/sponsored-brands.json @@ -3,7 +3,7 @@ "info": { "version": "3.0", "title": "Amazon Ads API - Sponsored Brands", - "description": "Use the Amazon Ads API for Sponsored Brands for campaign, ad group, keyword, negative keyword, drafts, Stores, landing pages, and Brands management operations. For more information about Sponsored Brands, see the [Sponsored Brands Support Center](https://advertising.amazon.com/help#GQFZA83P55P747BZ). For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic.

", + "description": "Use the Amazon Ads API for Sponsored Brands for campaign, ad group, keyword, negative keyword, drafts, Stores, landing pages, and Brands management operations. For more information about Sponsored Brands, see the [Sponsored Brands Support Center](https://advertising.amazon.com/help#GQFZA83P55P747BZ). For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic. ", "contact": { "name": "Amazon Ads API Support", "url": "https://amzn-clicks.atlassian.net/servicedesk/customer/portals" @@ -32,6 +32,9 @@ { "name": "Negative product targeting" }, + { + "name": "Theme targeting" + }, { "name": "Targeting recommendations" }, @@ -121,8 +124,8 @@ "Campaigns" ], "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. ", + "summary": "Returns campaigns associated with the account. [PLANNED SHUTOFF DATE 1/31/2024]", + "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 `adFormat` 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" @@ -326,7 +329,7 @@ "Campaigns" ], "operationId": "createCampaigns", - "summary": "Creates one or more new Campaigns.", + "summary": "Creates one or more new campaigns. [PLANNED SHUTOFF DATE 1/31/2024]", "description": "**Note:** To create multi-ad group campaigns use the [version 4 POST campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/CreateSponsoredBrandsCampaigns) endpoint. \n\nSee the [create a Sponsored Brands campaign](https://advertising.amazon.com/help#GQFZA83P55P747BZ) topic in the Amazon Ads Support Center for more information about the campaign review process. **Note** to retrieve the state of a campaign submitted for creation, use the listCampaign operation and the campaign identifier from this operation. On SB creation, the state field is read-only. \n
**To create a video campaign specify adFormat as 'video'. If adFormat is not specified a Product Collection campaign will be created. Only a single video campaign can be created at a time.**\n
**Note** each campaign in campaign creation operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).\n
**Note** each campaign in campaign creation operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting).\n
**Note** that keywords or expressions *can not* be recreated for a campaign if the keyword or expression has previously been associated with a campaign and subsequently archived. ", "parameters": [ { @@ -767,8 +770,8 @@ "Campaigns" ], "operationId": "updateCampaigns", - "summary": "Updates one or more campaigns.", - "description": "Mutable fields:\n* `name` \n* `state`\n* `portfolioId`\n* `budget`\n* `bidOptimization`\n* `bidMultiplier`\n* `bidAdjustments`\n* `endDate`", + "summary": "Updates one or more campaigns. [PLANNED SHUTOFF DATE 1/31/2024]", + "description": "Use [PUT /sb/v4/campaigns](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward.\nMutable fields:\n* `name` \n* `state`\n* `portfolioId`\n* `budget`\n* `bidOptimization`\n* `bidMultiplier`\n* `bidAdjustments`\n* `endDate`", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -994,7 +997,8 @@ "Campaigns" ], "operationId": "getCampaign", - "summary": "Gets a campaign specified by identifier.", + "summary": "Gets a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024]", + "description": "Use [POST /sb/v4/campaigns/list](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -1071,8 +1075,8 @@ "Campaigns" ], "operationId": "archiveCampaign", - "summary": "Archives a campaign specified by identifier.", - "description": "This operation is equivalent to an update operation that sets the status field to 'archived'. Note that setting the status field to 'archived' is permanent and can't be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information.", + "summary": "Archives a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024]", + "description": "**Use [POST /sb/v4/campaigns/delete](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/DeleteSponsoredBrandsCampaigns) going forward.**\nThis operation is equivalent to an update operation that sets the status field to 'archived'. Note that setting the status field to 'archived' is permanent and can't be undone. See [Developer\nNotes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -1126,7 +1130,8 @@ "Ad groups" ], "operationId": "listAdGroups", - "summary": "Gets an array of ad groups associated with the client identifier passed in the authorization header, filtered by specified criteria.", + "summary": "Gets an array of ad groups. [PLANNED SHUTOFF DATE 1/31/2024]", + "description": "Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -1218,7 +1223,8 @@ "Ad groups" ], "operationId": "getAdGroup", - "summary": "Gets an ad group specified by identifier.", + "summary": "Gets an ad group specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024]", + "description": "Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -1268,6 +1274,7 @@ ], "operationId": "listKeywords", "summary": "Gets an array of keywords, filtered by optional criteria.", + "description": "**Note**: Keywords associated with BrandVideo ad groups are only available in v3.2 version.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -1369,6 +1376,14 @@ "200": { "description": "Success.", "content": { + "application/vnd.sbkeyword.v3.2+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBKeyword" + } + } + }, "application/vnd.sbkeyword.v3+json": { "schema": { "type": "array", @@ -1635,6 +1650,7 @@ ], "operationId": "listNegativeKeywords", "summary": "Gets an array of negative keywords, filtered by optional criteria.", + "description": "**Note**: Negative keywords associated with BrandVideo ad groups are only available in v3.2 version.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -1721,6 +1737,14 @@ "200": { "description": "Success.", "content": { + "application/vnd.sbnegativekeyword.v3.2+json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBNegativeKeyword" + } + } + }, "application/vnd.sbnegativekeyword.v3+json": { "schema": { "type": "array", @@ -1980,7 +2004,7 @@ "Drafts" ], "operationId": "listDraftCampaigns", - "summary": "Gets an array of draft campaign objects.", + "summary": "Gets an array of draft campaign objects. [PLANNED SHUTOFF DATE 1/31/2024]", "description": "Gets an array of all draft campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
**Returns both productCollection and video draft campaigns by default. Use adFormatFilter to filter drafts by ad formats.**", "parameters": [ { @@ -2151,7 +2175,7 @@ "Drafts" ], "operationId": "createDraftCampaigns", - "summary": "Creates one or more new draft campaigns.", + "summary": "Creates one or more new draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024]", "description": "Creates sponsored brands draft campaigns.
**To create a video campaign specify adFormat as 'video'. If adFormat is not specified then a product collection draft is created.**\n
Note each draft campaign can have keywords, negative keywords, targets and negative targets with batch size of upto 100.\n
**Note** each draft campaign in this operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).\n
**Note** each draft campaign in this operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting).", "parameters": [ { @@ -2469,7 +2493,7 @@ "Drafts" ], "operationId": "updateDraftCampaigns", - "summary": "Updates one or more draft campaigns.", + "summary": "Updates one or more draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024]", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -2577,7 +2601,7 @@ "Drafts" ], "operationId": "getDraftCampaign.", - "summary": "Gets a draft campaign specified by identifier.", + "summary": "Gets a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024]", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -2752,7 +2776,7 @@ "Drafts" ], "operationId": "deleteDraftCampaign", - "summary": "Archives a draft campaign specified by identifier.", + "summary": "Archives a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024]", "description": "This operation is equivalent to an update operation that sets the status field to 'archived'. Note that setting the status field to 'archived' is permanent and can't be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information.", "parameters": [ { @@ -2807,7 +2831,7 @@ "Drafts" ], "operationId": "submitDraftCampaign", - "summary": "Submits one or more existing draft campaigns to the moderation approval queue.", + "summary": "Submits one or more existing draft campaigns to the moderation approval queue. [PLANNED SHUTOFF DATE 1/31/2024]", "description": "On successful submission, a campaign is created with an identifier that could be different from the original draft campaign identifier. The new identifier is returned in the response. Note that when a draft campaign is approved, the 'status' and 'servingStatus' fields are changed to values associated with an active campaign.", "parameters": [ { @@ -2960,8 +2984,8 @@ "tags": [ "Media" ], - "summary": "Creates an ephemeral resource (upload location) to upload Media for an Ad Program (SponsoredBrands).", - "description": "Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

", + "summary": "Creates an ephemeral resource (upload location). [PLANNED SHUTOFF DATE 1/31/2024]", + "description": "**Going forward, use [Asset library](creative-asset-library) to manage media.** Creates an ephemeral resource (upload location) to upload Media\nfor an Ad Program. The upload location is short lived and expires in 15 minutes.\nOnce the upload is complete, /media/complete API should be used to notify\nthat the upload is complete.

The upload location only supports `PUT` HTTP\nMethod to upload the media content. If the upload location expires, API user\nwill get `403 Forbidden` response.

", "parameters": [ { "in": "header", @@ -3383,7 +3407,7 @@ "requestBody": { "description": "A list of keywords or targeting expressions for which to generate bid recommendations. Note that if a value is specified for the `campaignId` field, the past performance data for the campaign may be use to create bid recommendations.", "content": { - "application/vnd.sbbidsrecommendation.v3.1+json": { + "application/json": { "schema": { "type": "object", "properties": { @@ -3418,7 +3442,7 @@ "200": { "description": "A list of bid recommendations.", "content": { - "application/vnd.sbbidsrecommendation.v3.1+json": { + "application/vnd.sbbidsrecommendation.v3+json": { "schema": { "type": "object", "properties": { @@ -3532,11 +3556,11 @@ "Product targeting" ], "operationId": "listTargets", - "description": "Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria.", + "description": "Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria.\n\n**Note**: Product targets associated with BrandVideo ad groups are only available in v3.2 version.", "requestBody": { "description": "A set of filters.", "content": { - "application/vnd.sblisttargetsresponse.v3+json": { + "application/json": { "schema": { "allOf": [ { @@ -3697,6 +3721,61 @@ "200": { "description": "A list of targeting clauses.", "content": { + "application/vnd.sblisttargetsresponse.v3.2+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ListResponse" + }, + { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetId": { + "type": "integer", + "format": "int64", + "description": "The target identifier." + }, + "adGroupId": { + "type": "integer", + "format": "int64", + "description": "The identifier of the ad group to which the target is associated." + }, + "campaignId": { + "type": "integer", + "format": "int64", + "description": "The identifier of the campaign to which the target is associated." + }, + "expressions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBExpression" + } + }, + "resolvedExpressions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBResolvedExpression" + } + }, + "state": { + "$ref": "#/components/schemas/SBProductTargetState" + }, + "bid": { + "$ref": "#/components/schemas/Bid" + } + } + } + } + } + } + ] + } + }, "application/vnd.sblisttargetsresponse.v3+json": { "schema": { "allOf": [ @@ -3767,7 +3846,7 @@ "requestBody": { "description": "A list of targets with updated values.
Note that targets can be updated on campaigns where serving status is not one of `archived`, `terminated`, `rejected`, or `ended`.
Note that this operation supports a maximum list size of 100 targets.", "content": { - "application/vnd.updatetargetsresponse.v3+json": { + "application/json": { "schema": { "type": "object", "required": [ @@ -3851,7 +3930,7 @@ "requestBody": { "description": "A list of targeting clauses for creation.
Note that targets can be created on campaigns where serving status is not one of `archived`, `terminated`, `rejected`, or `ended`.
Note that this operation supports a maximum list size of 100 targets.", "content": { - "application/vnd.sbcreatetargetsresponse.v3+json": { + "application/json": { "schema": { "type": "object", "required": [ @@ -3975,10 +4054,11 @@ ], "operationId": "listNegativeTargets", "summary": "Gets a list of product negative targets associated with the client identifier passed in the authorization header, filtered by specified criteria.", + "description": "**Note**: Negative targets associated with BrandVideo ad groups are only available in v3.2 version.", "requestBody": { "description": "A set of filters.", "content": { - "application/vnd.sblistnegativetargetsresponse.v3+json": { + "application/json": { "schema": { "allOf": [ { @@ -4134,6 +4214,26 @@ "200": { "description": "A list of negative targets.", "content": { + "application/vnd.sblistnegativetargetsresponse.v3.2+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ListResponse" + }, + { + "type": "object", + "properties": { + "negativeTargets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBTargetingClause" + } + } + } + } + ] + } + }, "application/vnd.sblistnegativetargetsresponse.v3+json": { "schema": { "allOf": [ @@ -4172,7 +4272,7 @@ "requestBody": { "description": "A list of negative targets with updated values.
Note that negative targeting clauses can be created on campaigns where serving status is not one of `archived`, `terminated`, `rejected`, or `ended`.
Note that this operation supports a maximum list size of 100 negative targets.", "content": { - "application/vnd.updatenegativetargetsresponse.v3+json": { + "application/json": { "schema": { "type": "object", "properties": { @@ -4253,7 +4353,7 @@ "requestBody": { "description": "A list of negative targeting clauses for creation.
Note that negative targeting clauses can be created on campaigns where serving status is not one of `archived`, `terminated`, `rejected`, or `ended`.
Note that this operation supports a maximum list size of 100 negative targets.", "content": { - "application/vnd.sbcreatenegativetargetsrequest.v3+json": { + "application/json": { "schema": { "type": "object", "required": [ @@ -4363,6 +4463,298 @@ } } }, + "/sb/themes/list": { + "post": { + "tags": [ + "Theme targeting" + ], + "operationId": "sbListThemes", + "description": "This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. Gets a list of theme targets associated with the client identifier passed in the authorization header, filtered by specified criteria.", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" + }, + { + "$ref": "#/components/parameters/profileHeader" + } + ], + "requestBody": { + "description": "A set of filters.", + "content": { + "application/vnd.sbthemeslistrequest.v3+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ListRequest" + }, + { + "type": "object", + "properties": { + "themeIdFilter": { + "description": "A list of theme targets identifiers.", + "properties": { + "include": { + "type": "array", + "items": { + "description": "An theme target identifier.", + "type": "string", + "minItems": 1, + "maxItems": 100 + } + } + } + }, + "adGroupIdFilter": { + "description": "A list of ad group identifiers.", + "properties": { + "include": { + "type": "array", + "items": { + "description": "An ad group identifier.", + "type": "string", + "minItems": 1, + "maxItems": 100 + } + } + } + }, + "campaignIdFilter": { + "description": "A list of campaign identifiers.", + "properties": { + "include": { + "type": "array", + "items": { + "description": "A campaign identifier.", + "type": "string", + "minItems": 1, + "maxItems": 100 + } + } + } + }, + "stateFilter": { + "description": "A list of theme target states.", + "properties": { + "include": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "paused", + "enabled", + "archived" + ], + "default": "enabled,paused", + "minItems": 1, + "maxItems": 3 + } + } + } + }, + "themeTypeFilter": { + "description": "A list of theme target type.", + "properties": { + "include": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ThemeType" + }, + "minItems": 1, + "maxItems": 2 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "A list of targeting clauses.", + "content": { + "application/vnd.sbthemeslistresponse.v3+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ListResponse" + }, + { + "type": "object", + "properties": { + "themes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBTheme" + }, + "minItems": 0, + "maxItems": 5000 + } + } + } + ] + } + } + } + } + } + } + }, + "/sb/themes": { + "put": { + "tags": [ + "Theme targeting" + ], + "operationId": "sbUpdateThemes", + "description": "This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response.", + "summary": "Updates one or more theme targets.", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" + }, + { + "$ref": "#/components/parameters/profileHeader" + } + ], + "requestBody": { + "description": "A list of theme targets with updated values.
Note that theme targets can be updated on multi-adGroups campaigns and where campaign serving status is not one of `archived`, `terminated`, `rejected`, or `ended` and adgroup state is not 'archived'.
Note that this operation supports a maximum list size of 100 theme targets. Also theme target can not be archived.", + "content": { + "application/vnd.sbathemessupdaterequest.v3+json": { + "schema": { + "type": "object", + "required": [ + "themes" + ], + "properties": { + "themes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBUpdateThemesRequest" + }, + "minItems": 1, + "maxItems": 100 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "A list of success and error results for theme targets submitted for update.", + "content": { + "application/vnd.sbthemesupdateresponse.v3+json": { + "schema": { + "type": "object", + "properties": { + "success": { + "description": "Lists the successfully updated theme targets. Note that theme targets in the response are correlated to theme targets in the request using the `index` field. For example, if `index` is set to `2`, the values correlate to the third theme target object in the request.", + "type": "array", + "items": { + "type": "object", + "properties": { + "themeId": { + "$ref": "#/components/schemas/SBThemeId" + }, + "index": { + "$ref": "#/components/schemas/SBTargetRequestIndex" + } + } + }, + "minItems": 0, + "maxItems": 100 + }, + "error": { + "description": "Lists errors that occurred during theme target update. Note that errors are correlated to theme target update requests by the `index` field. This field corresponds to the order of the theme target in the request. For example, if `index` is set to `2`, the values correlate to the third theme target object in the request array.", + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/Error" + }, + { + "type": "object", + "properties": { + "themeId": { + "$ref": "#/components/schemas/SBThemeId" + }, + "index": { + "$ref": "#/components/schemas/SBTargetRequestIndex" + } + } + } + ] + }, + "minItems": 0, + "maxItems": 100 + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400BadRequest" + } + } + }, + "post": { + "tags": [ + "Theme targeting" + ], + "operationId": "sbCreateThemes", + "description": "This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response.", + "summary": "Create one or more theme targets.", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" + }, + { + "$ref": "#/components/parameters/profileHeader" + } + ], + "requestBody": { + "description": "A list of theme targets for creation.
Note that theme targets can be created on multi-adGroups campaigns and where campaign serving status is not one of `archived`, `terminated`, `rejected`, or `ended` and adgroup state is not 'archived'.
Note that this operation supports a maximum list size of 100 theme targets and only one target can be created for each themeType per adGroup.", + "content": { + "application/vnd.sbthemescreaterequest.v3+json": { + "schema": { + "type": "object", + "required": [ + "themes" + ], + "properties": { + "themes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SBCreateThemesRequest" + }, + "minItems": 1, + "maxItems": 100 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "A list of success and error results for theme targets submitted for creation.", + "content": { + "application/vnd.sbthemescreateresponse.v3+json": { + "schema": { + "$ref": "#/components/schemas/SBCreateThemesResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400BadRequest" + } + } + } + }, "/sb/recommendations/targets/product/list": { "post": { "tags": [ @@ -4371,6 +4763,14 @@ "operationId": "getProductRecommendations", "summary": "Gets a list of recommended products for targeting.", "description": "Recommendations are based on the ASINs that are passed in the request.", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" + }, + { + "$ref": "#/components/parameters/profileHeader" + } + ], "requestBody": { "description": "A list of ASINs.", "content": { @@ -4471,10 +4871,55 @@ "operationId": "getTargetingCategories", "summary": "Gets a list of recommended categories for targeting.", "description": "Recommendations are based on the ASINs that are passed in the request.", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" + }, + { + "$ref": "#/components/parameters/profileHeader" + }, + { + "name": "locale", + "in": "query", + "description": "Return the categories in the specified locale.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ar_AE", + "de_DE", + "en_AE", + "en_AU", + "en_CA", + "en_GB", + "en_IN", + "en_SG", + "en_US", + "es_ES", + "es_MX", + "fr_CA", + "fr_FR", + "hi_IN", + "it_IT", + "ja_JP", + "ko_KR", + "nl_NL", + "pl_PL", + "pt_BR", + "sv_SE", + "ta_IN", + "th_TH", + "tr_TR", + "vi_VN", + "zh_CN" + ] + } + } + ], "requestBody": { "description": "List of ASINs.", "content": { - "application/vnd.sbcategoryrecommendations.v3.0+json": { + "application/json": { "schema": { "type": "object", "properties": { @@ -4484,6 +4929,14 @@ "items": { "type": "string" } + }, + "supplySource": { + "type": "string", + "description": "The supply source of the campaign. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV. Default value is `AMAZON`.", + "enum": [ + "AMAZON", + "STREAMING_VIDEO" + ] } } } @@ -4494,7 +4947,7 @@ "200": { "description": "A list of category targeting recommendations.", "content": { - "application/vnd.sbcategoryrecommendationsresponse.v3.0+json": { + "application/vnd.sbcategoryrecommendationsresponse.v3.2+json": { "schema": { "type": "object", "properties": { @@ -4520,6 +4973,14 @@ "operationId": "getBrandRecommendations", "summary": "Gets a list of brand suggestions.", "description": "The Brand suggestions are based on a list of either category identifiers or keywords passed in the request. It is not valid to specify both category identifiers and keywords in the request.", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" + }, + { + "$ref": "#/components/parameters/profileHeader" + } + ], "requestBody": { "content": { "application/vnd.sbbrandrecommendations.v3.0+json": { @@ -4792,7 +5253,7 @@ "Reports" ], "summary": "Requests the creation of a report containing performance data related to Sponsored Brands campaigns.", - "description": "Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**\n\n**KDP support**\n\nNote that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. \n\n**Filtering**\n\nFor more information, see the [Reporting FAQ](/API/docs/en-us/reporting/v2/faq#can-i-filter-a-sponsored-brands-report).\n\n**Constraints of Sponsored Brands reporting**\n\nSponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available.\n\n**New-to-brand performance metrics**\n\nWith new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals.", + "description": "Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).**\n\n**KDP support**\n\nNote that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. \n\n**Filtering**\n\nFor more information, see the [Reporting FAQ](/API/docs/en-us/guides/reporting/v2/faq#can-i-filter-a-sponsored-brands-report).\n\n**Constraints of Sponsored Brands reporting**\n\nSponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available.\n\n**New-to-brand performance metrics**\n\nWith new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -4823,7 +5284,7 @@ "properties": { "reportDate": { "type": "string", - "description": "Date in YYYYMMDD format. The report only contains performance data for the specified date. The time zone is specified by the profile used to request the report. If this date is today, then the performance report may contain partial information. Reports are not available for data older than 60 days. For details on data latency, see [Service Guarantees](../../get-started/developer-notes)." + "description": "Date in YYYYMMDD format. The report only contains performance data for the specified date. The time zone is specified by the profile used to request the report. If this date is today, then the performance report may contain partial information. Reports are not available for data older than 60 days. For details on data latency, see [Service Guarantees](../../reference/concepts/developer-notes)." }, "segment": { "type": "string", @@ -4843,7 +5304,7 @@ }, "metrics": { "type": "string", - "description": "Each report type supports different metrics. **To understand supported metrics for each report type, see [Report types](/API/docs/en-us/reporting/v2/report-types).** " + "description": "Each report type supports different metrics. **To understand supported metrics for each report type, see [Report types](/API/docs/en-us/guides/reporting/v2/report-types).** " } } } @@ -4908,7 +5369,7 @@ "Reports" ], "summary": "Returns the status of a previously requested report.", - "description": "To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).", + "description": "To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -4970,7 +5431,7 @@ "Reports" ], "summary": "Downloads a previously requested report identified by `reportId`.", - "description": "Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. \n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**\n\nThe report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request.\n\n**Note**: The report files in S3 are gzipped.\n\n*Example report download*\n\n`$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"`", + "description": "Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. \n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).**\n\nThe report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request.\n\n**Note**: The report files in S3 are gzipped.\n\n*Example report download*\n\n`$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"`", "operationId": "downloadReport", "parameters": [ { @@ -5331,6 +5792,10 @@ ], "description": "collection is deprecated in favor of productCollection." }, + "ThemeType": { + "type": "string", + "description": "The theme target type.\n- KEYWORDS_RELATED_TO_YOUR_BRAND - keywords related to brands.\n- KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES - keywords related to your landing pages.\n- Note: Additional theme types may be added in the future." + }, "SBKeywordState": { "type": "string", "enum": [ @@ -8464,6 +8929,41 @@ "draft" ] }, + "SBTheme": { + "description": "| themeType | description |\n|-----------|-------------|\n| KEYWORDS_RELATED_TO_YOUR_BRAND | keywords related to brands. |\n| KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES | keywords related to your landing pages. |", + "properties": { + "themeId": { + "description": "The theme target identifier.", + "type": "string" + }, + "adGroupId": { + "description": "The identifier of the ad group associated with the theme target.", + "type": "string" + }, + "campaignId": { + "description": "The identifier of the campaign associated with the theme target.", + "type": "string" + }, + "themeType": { + "$ref": "#/components/schemas/ThemeType" + }, + "state": { + "$ref": "#/components/schemas/SBThemeState" + }, + "bid": { + "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).", + "type": "number" + } + } + }, + "SBThemeState": { + "type": "string", + "enum": [ + "enabled", + "paused", + "archived" + ] + }, "SBCreateTargetsResponse": { "properties": { "createTargetSuccessResults": { @@ -8550,11 +9050,106 @@ } } }, + "SBCreateThemesResponse": { + "properties": { + "success": { + "description": "Lists the successfully created theme targets. Note that theme targets in the response are correlated to theme targets in the request using the `index` field. For example, if `index` is set to `2`, the values correlate to the third theme target object in the request.", + "type": "array", + "items": { + "type": "object", + "properties": { + "index": { + "$ref": "#/components/schemas/SBTargetRequestIndex" + }, + "themeId": { + "$ref": "#/components/schemas/SBThemeId" + } + } + }, + "minItems": 0, + "maxItems": 100 + }, + "error": { + "description": "Lists errors that occurred during theme target creation. Note that errors are correlated to theme target create requests by the `index` field. This field corresponds to the order of the target object in the request. For example, if `index` is set to `3`, an error occurred during creation of the fourth theme target in the request.", + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/Error" + }, + { + "type": "object", + "properties": { + "index": { + "$ref": "#/components/schemas/SBTargetRequestIndex" + } + } + } + ] + }, + "minItems": 0, + "maxItems": 100 + } + } + }, + "SBCreateThemesRequest": { + "properties": { + "adGroupId": { + "type": "string", + "description": "The identifier of the ad group to which the target is associated." + }, + "campaignId": { + "type": "string", + "description": "The identifier of the campaign to which the target is associated." + }, + "themeType": { + "$ref": "#/components/schemas/ThemeType" + }, + "bid": { + "$ref": "#/components/schemas/Bid" + } + }, + "required": [ + "adGroupId", + "themeType", + "bid" + ] + }, + "SBUpdateThemesRequest": { + "properties": { + "themeId": { + "type": "string", + "description": "The identifier of the theme target." + }, + "adGroupId": { + "type": "string", + "description": "The identifier of the ad group to which the target is associated." + }, + "campaignId": { + "type": "string", + "description": "The identifier of the campaign to which the target is associated." + }, + "state": { + "$ref": "#/components/schemas/SBThemeState" + }, + "bid": { + "$ref": "#/components/schemas/Bid" + } + }, + "required": [ + "themeId", + "adGroupId" + ] + }, "SBTargetId": { "type": "integer", "format": "int64", "description": "The identifier of a target." }, + "SBThemeId": { + "type": "string", + "description": "The identifier of theme target." + }, "SBExpressionRequestIndex": { "description": "Correlates the expression to the expression array index specified in the request. Zero-based.", "type": "number" @@ -8641,6 +9236,10 @@ "type": "string", "description": "The category name." }, + "translatedName": { + "type": "string", + "description": "The category name translated to the specified locale in the request." + }, "isTargetable": { "type": "boolean", "description": "Set to `true` if the category can be targeted in a targeting expression, and `false` if not." @@ -8648,6 +9247,14 @@ "path": { "type": "string", "description": "The path of the category within the category catalogue." + }, + "translatedPath": { + "type": "string", + "description": "The path of the category within the category catalogue translated to the specified locale in the request." + }, + "estimatedReach": { + "type": "string", + "description": "The estimated daily reach range of the category. Only set when supply source is `STREAMING_VIDEO`" } } }, diff --git a/docs/schemas/sponsored-display-extra.json b/docs/schemas/sponsored-display-extra.json index c95c86b..1b6705f 100644 --- a/docs/schemas/sponsored-display-extra.json +++ b/docs/schemas/sponsored-display-extra.json @@ -8,7 +8,7 @@ "/sd/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.", + "description": "**Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days.", "operationId": "getRuleBasedBudgetHistoryForSDCampaigns", "responses": { "200": { @@ -571,6 +571,105 @@ ] } }, + "/sd/campaigns/budgetRecommendations": { + "post": { + "summary": "Returns recommended daily budget and estimated missed opportunities for campaigns", + "requestBody": { + "content": { + "application/vnd.sdbudgetrecommendations.v3+json": { + "schema": { + "$ref": "#/components/schemas/SDBudgetRecommendationsRequest" + } + } + } + }, + "operationId": "getSDBudgetRecommendations", + "description": "Given a list of campaigns as input, this API provides the following metrics:\n
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. \n
2. Percent time in budget - The share of time the campaign was in budget during the past 7 days.\n
3. Estimated missed impressions, clicks and sales - These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopted the recommended budget. These are estimates based on 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.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "responses": { + "207": { + "description": "Multi-status.", + "content": { + "application/vnd.sdbudgetrecommendations.v3+json": { + "schema": { + "$ref": "#/components/schemas/SDBudgetRecommendationsResponse" + } + } + } + }, + "400": { + "description": "Generic bad request error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SDErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SDErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden - Request failed because user does not have access to a specified resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SDErrorResponse" + } + } + } + }, + "415": { + "description": "Unsupported Media Type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SDErrorResponse" + } + } + } + }, + "429": { + "description": "Too Many Requests - Request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SDErrorResponse" + } + } + } + }, + "500": { + "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/SDErrorResponse" + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/SDClientHeader" + }, + { + "$ref": "#/components/parameters/SDProfileHeader" + } + ], + "tags": [ + "Budget Recommendations" + ] + } + }, "/sd/budgetRules": { "post": { "summary": "Creates one or more budget rules.", @@ -1806,6 +1905,11 @@ "schema": { "$ref": "#/components/schemas/SDTargetingRecommendationsRequestV31" } + }, + "application/vnd.sdtargetingrecommendations.v3.4+json": { + "schema": { + "$ref": "#/components/schemas/SDTargetingRecommendationsRequestV34" + } } } }, @@ -1834,6 +1938,11 @@ "schema": { "$ref": "#/components/schemas/SDTargetingRecommendationsResponseV31" } + }, + "application/vnd.sdtargetingrecommendations.v3.4+json": { + "schema": { + "$ref": "#/components/schemas/SDTargetingRecommendationsResponseV34" + } } } }, @@ -1919,6 +2028,11 @@ "summary": "Returns a set of bid recommendations for targeting clauses", "requestBody": { "content": { + "application/vnd.sdtargetingrecommendations.v3.3+json": { + "schema": { + "$ref": "#/components/schemas/SDTargetingBidRecommendationsRequestV33" + } + }, "application/vnd.sdtargetingrecommendations.v3.2+json": { "schema": { "$ref": "#/components/schemas/SDTargetingBidRecommendationsRequestV32" @@ -1932,11 +2046,16 @@ } }, "operationId": "getTargetBidRecommendations", - "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:\nProduct 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#### Refinement 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 targets the advertised asins are required\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "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 derived from the last 7 days of winning auction bids for the related targeting clause.\n\n\nReceive bid recommendations using the following:\nProduct 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 related products to the advertised asins\n|audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience\n\n\n#### Refinement 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 asinCategorySameAs 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\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", "responses": { "207": { "description": "multi-status", "content": { + "application/vnd.sdtargetingrecommendations.v3.3+json": { + "schema": { + "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseV32" + } + }, "application/vnd.sdtargetingrecommendations.v3.2+json": { "schema": { "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseV32" @@ -2445,7 +2564,7 @@ "type": "object", "properties": { "code": { - "description": "HTTP status code 200 indicating a successful response for product recomendations.", + "description": "HTTP status code 200 indicating a successful response for product recommendations.", "type": "string", "example": "200" }, @@ -2499,6 +2618,55 @@ } } }, + "SDTargetingRecommendationsFailureV34": { + "description": "A targeting recommendation failure record.", + "type": "object", + "properties": { + "code": { + "description": "HTTP status code indicating a failure response for targeting recomendations.", + "type": "string", + "example": "400" + }, + "expression": { + "minItems": 1, + "maxItems": 1, + "description": "A list of expressions that failed to be applied in the product targeting theme.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDProductTargetingThemeExpression" + } + }, + "name": { + "description": "The theme name specified in the request. If the themes field is not provided in the request,\nthe value of this field will be set to default.", + "type": "string" + }, + "errorMessage": { + "description": "A human friendly error message indicating the failure reasons.", + "type": "string" + } + } + }, + "SDBudgetRecommendationsRequest": { + "description": "Request for budget recommendations.", + "required": [ + "campaignIds" + ], + "properties": { + "campaignIds": { + "minItems": 1, + "maxItems": 100, + "description": "A list of campaign ids for which to get budget recommendations and missed opportunities.", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "5292131569371", + "5292131569372" + ] + } + } + }, "HeadlineSuggestionResponse": { "description": "Response structure of headline suggestion API.", "type": "object", @@ -2936,6 +3104,84 @@ } } }, + "SDProductTargetingRecommendationsSuccessV34": { + "description": "Recommendation results for product targeting.", + "type": "object", + "properties": { + "code": { + "description": "HTTP status code 200 indicating a successful response for product recommendations.", + "type": "string", + "example": "200" + }, + "expression": { + "minItems": 1, + "maxItems": 1, + "description": "A list of expressions defining the product targeting theme. The list will define an AND operator on different expressions.\nFor example, asinPriceGreaterThan and asinReviewRatingLessThan can be used to request product recommendations\nwhich are both with greater price and less review rating compared to the goal products.\nNote: currently the service only support one item in the array.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDProductTargetingThemeExpression" + } + }, + "name": { + "description": "The theme name specified in the request.", + "type": "string" + }, + "recommendations": { + "minItems": 1, + "maxItems": 100, + "description": "A list of recommended products.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDProductRecommendationV32" + } + } + } + }, + "SDTargetingBidRecommendationsRequestV33": { + "description": "Request for targeting bid recommendations.", + "required": [ + "targetingClauses", + "bidOptimization", + "costType" + ], + "properties": { + "bidOptimization": { + "$ref": "#/components/schemas/SDBidOptimizationV32" + }, + "creativeType": { + "$ref": "#/components/schemas/SDCreativeType" + }, + "costType": { + "$ref": "#/components/schemas/SDCostTypeV31" + }, + "targetingClauses": { + "minItems": 1, + "maxItems": 100, + "description": "A list of targeting clauses to receive bid recommendations for.", + "type": "array", + "items": { + "type": "object", + "required": [ + "targetingClause" + ], + "properties": { + "targetingClause": { + "$ref": "#/components/schemas/SDTargetingClauseV31" + } + } + } + }, + "products": { + "minItems": 0, + "maxItems": 10000, + "description": "A list of products to tailor bid recommendations for category and audience based targeting clauses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDGoalProduct" + } + } + } + }, "SDTargetingRecommendationsRequest": { "description": "Request for targeting recommendations", "required": [ @@ -3222,6 +3468,67 @@ } } }, + "SDSevenDaysMissedOpportunities": { + "properties": { + "estimatedMissedSalesLower": { + "description": "Lower bound of the estimated missed sales. This will be in local currency.", + "type": "number", + "example": "200.75" + }, + "estimatedMissedSalesUpper": { + "description": "Upper bound of the estimated missed sales. This will be in local currency.", + "type": "number", + "example": "400.75" + }, + "endDate": { + "format": "date", + "description": "End date of the missed opportunities date range (YYYY-MM-DD).", + "type": "string", + "example": "2023-05-07" + }, + "estimatedMissedImpressionsLower": { + "description": "Lower bound of the estimated missed impressions.", + "type": "integer", + "example": "50" + }, + "estimatedMissedClicksLower": { + "description": "Lower bound of the estimated missed clicks.", + "type": "integer", + "example": "30" + }, + "estimatedMissedClicksUpper": { + "description": "Upper bound of the estimated missed clicks.", + "type": "integer", + "example": "50" + }, + "estimatedMissedImpressionsUpper": { + "description": "Upper bound of the estimated missed impressions.", + "type": "integer", + "example": "70" + }, + "startDate": { + "format": "date", + "description": "Start date of the missed opportunities date range (YYYY-MM-DD).", + "type": "string", + "example": "2023-05-01" + }, + "percentTimeInBudget": { + "description": "Percentage of time the campaign is active with a budget.", + "type": "number", + "example": "60.5" + }, + "estimatedMissedViewableImpressionsLower": { + "description": "Lower bound of the estimated missed viewable impressions for vCPM campaigns.", + "type": "integer", + "example": "70" + }, + "estimatedMissedViewableImpressionsUpper": { + "description": "Upper bound of the estimated missed viewable impressions for vCPM campaigns.", + "type": "integer", + "example": "90" + } + } + }, "SDBrandSafetyListRequestStatusResponse": { "description": "List of all requests' status.", "type": "object", @@ -3414,6 +3721,34 @@ } } }, + "SDBudgetRecommendation": { + "required": [ + "index", + "campaignId", + "suggestedBudget", + "sevenDaysMissedOpportunities" + ], + "properties": { + "campaignId": { + "description": "Campaign id.", + "type": "string", + "example": "5292131569371" + }, + "suggestedBudget": { + "description": "Recommended budget for the campaign. This will be in local currency.", + "type": "number", + "example": "350.12" + }, + "index": { + "description": "Correlate the recommendation to the campaign index in the request. Zero-based.", + "type": "integer", + "example": "0" + }, + "sevenDaysMissedOpportunities": { + "$ref": "#/components/schemas/SDSevenDaysMissedOpportunities" + } + } + }, "SDRuleType": { "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", "type": "string", @@ -3809,7 +4144,7 @@ } }, "SDTargetingPredicateBaseV31": { - "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 Advertising 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 Advertising 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.", "type": "object", "required": [ "type" @@ -3894,6 +4229,32 @@ } } }, + "SDBudgetRecommendationsResponse": { + "required": [ + "budgetRecommendationsSuccessResults", + "budgetRecommendationsErrorResults" + ], + "properties": { + "budgetRecommendationsSuccessResults": { + "minItems": 0, + "maxItems": 100, + "description": "List of successful budget recommendation for campaigns.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRecommendation" + } + }, + "budgetRecommendationsErrorResults": { + "minItems": 0, + "maxItems": 100, + "description": "List of errors that occurred when generating budget recommendation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRecommendationError" + } + } + } + }, "SDProductTargetingThemeExpression": { "description": "The expression used to define the product targeting theme.", "type": "object", @@ -3906,9 +4267,9 @@ "type": "string", "enum": [ "asinPriceGreaterThan", + "asinBrandSameAs", "asinReviewRatingLessThan", - "asinGlanceViewsGreaterThan", - "asinBrandSameAs" + "asinGlanceViewsGreaterThan" ] } } @@ -3949,6 +4310,14 @@ } } }, + "SDTargetingRecommendationsResponseV34": { + "description": "Response to a request for targeting recommendations", + "properties": { + "recommendations": { + "$ref": "#/components/schemas/SDTargetingRecommendationsV34" + } + } + }, "PreModerationResponse": { "description": "Information regarding the policy violations if present for the components, sent for pre moderation.", "type": "object", @@ -4200,6 +4569,14 @@ "$ref": "#/components/schemas/SDGoalProduct" } }, + "SDThemeRecommendationsV34": { + "type": "object", + "properties": { + "products": { + "$ref": "#/components/schemas/SDProductThemeRecommendationsV34" + } + } + }, "SDTacticV31": { "description": "The advertising tactic associated with the campaign. The following table lists available tactic names:\n|Tactic Name|Type|Description|\n|-----------|-----|-----------|\n|T00001 | |This tactic name is only applicable for the `requestReport` operation and does not apply to any other campaign management operations. Reach shoppers who showed interest in categories related to your promoted products, or target specific products or product categories on Amazon. This tactic is for use by only vendors. This tactic is used to retrieve metrics for Sponsored Display campaigns that use interest, product or category audiences, including Sponsored Display campaigns that were previously Product Display Ads campaigns.|\n|T00010 |Views |**Note that this advertising tactic is not currently supported. This note will be removed when this advertising tactic is available.** This is the same tactic as 'remarketing'. Shoppers who viewed the detail pages of your advertised products or similar products.|\n|remarketing |Views |This is the same tactic as 'T00010'. Shoppers who viewed the detail pages of your advertised products or similar products.|\n|T00020 |Products |Products: Choose individual products to show your ads in placements related to those products.
Categories: Choose individual categories to show your ads in placements related to those categories.|\n|T00030 |Audiences |Select individual audiences to show your ads.|", "type": "string", @@ -4212,6 +4589,36 @@ ], "example": "T00030" }, + "SDBudgetRecommendationError": { + "required": [ + "index", + "campaignId", + "code", + "details" + ], + "properties": { + "code": { + "description": "The HTTP status code of the response.", + "type": "string", + "example": "404" + }, + "campaignId": { + "description": "Campaign id.", + "type": "string", + "example": "5292131569372" + }, + "index": { + "description": "Correlate the recommendation to the campaign index in the request. Zero-based.", + "type": "integer", + "example": "1" + }, + "details": { + "description": "A human-readable description of the response.", + "type": "string", + "example": "Budget recommendation is not found." + } + } + }, "CreativeRecommendationsRequest": { "description": "Request structure of creative recommendations API.", "type": "object", @@ -4329,6 +4736,15 @@ } } }, + "SDCreativeType": { + "nullable": true, + "description": "The type of the associated creative. If the field is empty or null, a default value of IMAGE will be used. Only supports one type (VIDEO or IMAGE) at a time.", + "type": "string", + "enum": [ + "IMAGE", + "VIDEO" + ] + }, "HeadlineSuggestionRequest": { "description": "Request structure of headline suggestion API.", "type": "object", @@ -4443,6 +4859,8 @@ "description": "The advertising performance metric.", "type": "string", "enum": [ + "IS", + "NTB", "ROAS" ] }, @@ -4644,6 +5062,22 @@ "zh_CN" ] }, + "SDProductThemeRecommendationsV34": { + "minItems": 1, + "maxItems": 5, + "description": "A list of product targeting theme recommendations.", + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/SDProductTargetingRecommendationsSuccessV34" + }, + { + "$ref": "#/components/schemas/SDTargetingRecommendationsFailureV34" + } + ] + } + }, "BudgetRuleResponse": { "type": "object", "properties": { @@ -4851,8 +5285,8 @@ "$ref": "#/components/schemas/SDRecommendationTypeV32" }, "example": [ - "CATEGORY", - "AUDIENCE" + "PRODUCT", + "CATEGORY" ] }, "VideoComponentResponse": { @@ -5546,6 +5980,28 @@ } } }, + "SDTargetingRecommendationsRequestV34": { + "description": "Request for targeting recommendations", + "required": [ + "tactic", + "products", + "typeFilter" + ], + "properties": { + "themes": { + "$ref": "#/components/schemas/SDTargetingRecommendationsThemes" + }, + "typeFilter": { + "$ref": "#/components/schemas/SDTargetingRecommendationsTypeFilterV32" + }, + "tactic": { + "$ref": "#/components/schemas/SDTacticV31" + }, + "products": { + "$ref": "#/components/schemas/SDTargetingRecommendationsProducts" + } + } + }, "SnapshotRequest": { "type": "object", "properties": { @@ -5843,6 +6299,42 @@ ], "description": "A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning." }, + "SDTargetingRecommendationsV34": { + "description": "A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning.", + "type": "object", + "properties": { + "themes": { + "$ref": "#/components/schemas/SDThemeRecommendationsV34" + }, + "audiences": { + "minItems": 0, + "maxItems": 10, + "description": "List of recommended audience targets, broken down by audience category", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDAudienceCategoryRecommendations" + } + }, + "categories": { + "minItems": 0, + "maxItems": 1000, + "description": "List of recommended category targets", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDCategoryRecommendationV33" + } + }, + "products": { + "minItems": 0, + "maxItems": 1000, + "description": "List of recommended product targets", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDProductRecommendationV32" + } + } + } + }, "SDTargetingRecommendationsV33": { "allOf": [ { diff --git a/docs/schemas/sponsored-display.json b/docs/schemas/sponsored-display.json index 1738175..0e4424a 100644 --- a/docs/schemas/sponsored-display.json +++ b/docs/schemas/sponsored-display.json @@ -2,14 +2,14 @@ "openapi": "3.0.2", "info": { "title": "Amazon Ads API for Sponsored Display", - "description": "This API enables programmatic access for campaign creation, management, and reporting for Sponsored Display campaigns. For more information on the functionality, see the [Sponsored Display Support Center](https://advertising.amazon.com/help#GTPPHE6RAWC2C4LZ). For API onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup) topic.

\n> This specification is available for download from the **[Advertising API developer portal](https://d3a0d0y2hgofx6.cloudfront.net/openapi/en-us/sponsored-display/3-0/openapi.yaml).**", + "description": "This API enables programmatic access for campaign creation, management, and reporting for Sponsored Display campaigns. For more information on the functionality, see the [Sponsored Display Support Center](https://advertising.amazon.com/help#GTPPHE6RAWC2C4LZ). For API onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/en-us/guides/onboarding/overview) topic.

\n> This specification is available for download from the **[Advertising API developer portal](https://d3a0d0y2hgofx6.cloudfront.net/openapi/en-us/sponsored-display/3-0/openapi.yaml).**", "contact": { "name": "Amazon Ads API Support", "url": "https://amzn-clicks.atlassian.net/servicedesk/customer/portals" }, "license": { "name": "Amazon Ads API License Agreement", - "url": "https://advertising.amazon.com/API/docs/license_agreement" + "url": "https://advertising.amazon.com/API/docs/license-agreement" }, "version": "3.0" }, @@ -32,10 +32,10 @@ "name": "Campaigns" }, { - "name": "Ad groups" + "name": "Ad Groups" }, { - "name": "Product ads" + "name": "Product Ads" }, { "name": "Targeting" @@ -47,7 +47,7 @@ "name": "Bid Recommendations" }, { - "name": "Negative targeting" + "name": "Negative Targeting" }, { "name": "Creatives" @@ -65,7 +65,16 @@ "name": "Forecasts" }, { - "name": "Optimization rules [Preview Only]" + "name": "Optimization Rules [Preview Only]" + }, + { + "name": "Budget Rules" + }, + { + "name": "Budget Usage" + }, + { + "name": "Locations (beta)" } ], "paths": { @@ -341,7 +350,7 @@ } ], "requestBody": { - "description": "An array of Campaign objects. For each object, specify required fields and their values. Required fields are `name`, `tactic`, `state`, `budget`, and `startDate`. Maximum length of the array is 100 objects.", + "description": "An array of Campaign objects. For each object, specify required fields and their values. Required fields are `name`, `tactic`, `state`, and `startDate`. Maximum length of the array is 100 objects. If you don't specify a `budget`, it will be set as the [default budget for your region](https://advertising.amazon.com/API/docs/en-us/concepts/limits#default-budgets).\n If you are using Optimization rules, the following campaign budget must be at least:\n - 5x the value of any COST_PER_ORDER threshold.\n - 10x the value of any COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS threshold.\n - 20x the value of any COST_PER_CLICK threshold.\n", "content": { "application/json": { "schema": { @@ -885,7 +894,7 @@ "/sd/adGroups": { "get": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Gets a list of ad groups.", "description": "Gets an array of AdGroup objects for a requested set of Sponsored Display ad groups. Note that the AdGroup object is designed for performance, and includes a small set of commonly used fields to reduce size. If the extended set of fields is required, use the ad group operations that return the AdGroupResponseEx object.", @@ -1036,7 +1045,7 @@ }, "put": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Updates on or more ad groups.", "operationId": "updateAdGroups", @@ -1140,7 +1149,7 @@ }, "post": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Creates one or more ad groups.", "operationId": "createAdGroups", @@ -1153,7 +1162,7 @@ } ], "requestBody": { - "description": "An array of AdGroup objects. For each object, specify required fields and their values. Required fields are `campaignId`, `name`, `state`, and `defaultBid`. Maximum length of the array is 100 objects.", + "description": "An array of AdGroup objects. For each object, specify required fields and their values. Required fields are `campaignId`, `name`, `state`, and `defaultBid`. Maximum length of the array is 100 objects. Note - when using landingPageType of OFF_AMAZON_LINK or STORES within productAds, only 1 adGroup is supported.", "content": { "application/json": { "schema": { @@ -1246,7 +1255,7 @@ "/sd/adGroups/{adGroupId}": { "get": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Gets a requested ad group.", "description": "Returns an AdGroup object for a requested campaign. Note that the AdGroup object is designed for performance, with a small set of commonly used ad group fields to reduce size. If the extended set of fields is required, use the campaign operations that return the AdGroupResponseEx object.", @@ -1344,7 +1353,7 @@ }, "delete": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Sets the ad group status to archived.", "description": "This operation is equivalent to an update operation that sets the status field to 'archived'. Note that setting the status field to 'archived' is permanent and can't be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/en-us/info/developer-notes#archiving) for more information.", @@ -1444,7 +1453,7 @@ "/sd/adGroups/extended": { "get": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Gets a list of ad groups with extended fields.", "description": "Gets an array of AdGroupResponseEx objects for a set of requested ad groups.", @@ -1597,7 +1606,7 @@ "/sd/adGroups/extended/{adGroupId}": { "get": { "tags": [ - "Ad groups" + "Ad Groups" ], "summary": "Gets extended information for a requested ad group.", "operationId": "getAdGroupResponseEx", @@ -1696,7 +1705,7 @@ "/sd/productAds": { "get": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Gets a list of product ads.", "description": "Gets an array of ProductAd objects for a requested set of Sponsored Display product ads. Note that the ProductAd object is designed for performance, and includes a small set of commonly used fields to reduce size. If the extended set of fields is required, use a product ad operation that returns the ProductAdResponseEx object.", @@ -1847,7 +1856,7 @@ }, "put": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Updates one or more product ads.", "operationId": "updateProductAds", @@ -1951,7 +1960,7 @@ }, "post": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Creates one or more product ads.", "operationId": "createProductAds", @@ -1972,6 +1981,40 @@ "items": { "$ref": "#/components/schemas/CreateProductAd" } + }, + "examples": { + "Vendor example": { + "value": [ + { + "state": "enabled", + "adGroupId": 0, + "campaignId": 0, + "asin": "B081FGSWTJ" + } + ] + }, + "Seller example": { + "value": [ + { + "state": "enabled", + "adGroupId": 0, + "campaignId": 0, + "sku": "sku-1234567" + } + ] + }, + "Off Amazon example": { + "value": [ + { + "state": "enabled", + "adGroupId": 0, + "campaignId": 0, + "landingPageURL": "https://advertising.amazon.com", + "landingPageType": "OFF_AMAZON_LINK", + "adName": "AmazonAdvertising" + } + ] + } } } }, @@ -2057,7 +2100,7 @@ "/sd/productAds/{adId}": { "get": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Gets a requested product ad.", "description": "Note that the ProductAd object is designed for performance, and includes a small set of commonly used fields to reduce size. If the extended set of fields is required, use a product ad operations that returns the ProductAdResponseEx object.", @@ -2155,7 +2198,7 @@ }, "delete": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Sets the status of a sproduct ad to archived.", "description": "This operation is equivalent to an update operation that sets the status field to 'archived'. Note that setting the status field to 'archived' is permanent and can't be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/en-us/info/developer-notes#archiving) for more information.", @@ -2255,7 +2298,7 @@ "/sd/productAds/extended": { "get": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Gets a list of product ads with extended fields.", "description": "Gets an array of ProductAdResponseEx objects for a set of requested ad groups. The ProductAdResponseEx object includes the extended set of available fields.", @@ -2408,7 +2451,7 @@ "/sd/productAds/extended/{adId}": { "get": { "tags": [ - "Product ads" + "Product Ads" ], "summary": "Gets extended information for a product ad.", "operationId": "getProductAdResponseEx", @@ -2808,7 +2851,7 @@ "Reports" ], "summary": "Gets the status of a report previously requested.", - "description": "Uses the `reportId` value from the response of a report previously requested via `POST` method of the `/sd/{recordType}/report` operation.\n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**", + "description": "Uses the `reportId` value from the response of a report previously requested via `POST` method of the `/sd/{recordType}/report` operation.\n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).**", "operationId": "getReportStatus", "parameters": [ { @@ -2907,7 +2950,7 @@ "Reports" ], "summary": "Downloads a previously requested report identified by reportId.", - "description": "Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created.\n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**", + "description": "Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created.\n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).**", "operationId": "downloadReport", "parameters": [ { @@ -3007,7 +3050,7 @@ "Reports" ], "summary": "Creates a report request.", - "description": "**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**\n\nThe Sponsored Display API supports creation of reports for campaigns, ad groups, product ads, targets, and asins. Create a ReportRequest object specifying the fields corresponding to performance data metrics to include in the report.", + "description": "**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).**\n\nThe Sponsored Display API supports creation of reports for campaigns, ad groups, product ads, targets, and asins. Create a ReportRequest object specifying the fields corresponding to performance data metrics to include in the report.", "operationId": "requestReport", "parameters": [ { @@ -3215,6 +3258,10 @@ "expression": { "type": "asinSameAs", "value": "B0123456789" + }, + "resolvedExpression": { + "type": "asinSameAs", + "value": "B0123456789" } } } @@ -3306,17 +3353,6 @@ "items": { "$ref": "#/components/schemas/UpdateTargetingClause" } - }, - "example": { - "targetId": 123, - "adGroupId": 321, - "state": "enabled", - "expressionType": "manual", - "bid": 1.5, - "expression": { - "type": "asinSameAs", - "value": "B0123456789" - } } } }, @@ -3403,7 +3439,7 @@ "Targeting" ], "summary": "Creates one or more targeting clauses.", - "description": "Successfully created targeting clauses are assigned a unique `targetId` value.\n\nCreate new targeting clauses for campaigns with tactic 'T00020' using the following:\n| Contextual targeting clause | Description |\n|------------------|-------------|\n| similarProduct | Dynamic segment to target products that are similar to the advertised asin. We recommend using 'similarProduct' targeting for all adGroups. |\n| asinSameAs=B0123456789 | Target this product. |\n| asinCategorySameAs=12345 | Target products in the category. |\n| asinCategorySameAs=12345 asinBrandSameAs=45678 | Target products in the category and brand. |\n\n**Refinements:**\n- asinBrandSameAs\n- asinPriceBetween\n- asinPriceGreaterThan\n- asinPriceLessThan\n- asinReviewRatingLessThan\n- asinReviewRatingGreaterThan\n- asinReviewRatingBetween\n- asinIsPrimeShippingEligible\n- asinAgeRangeSameAs\n- asinGenreSameAs\n\n**Refinement Notes:**\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* 'similarProduct' has no expression value or refinements.\n\nCreate new targeting clauses for campaigns with tactic 'T00030' using the following:\n| Audience targeting clause | Description |\n|------------------|-------------|\n| views(exactProduct lookback=30) | Target an audience that has viewed the advertised asins in the past 7,14,30,60, or 90 days. |\n| views(similarProduct lookback=60) | Target an audience that has viewed similar products to the advertised asins in the past 7,14,30,60, or 90 days. |\n| views(asinCategorySameAs=12345 lookback=90) | Target an audience that has viewed products in the given category in the past 7,14,30,60, or 90 days. |\n| views(asinCategorySameAs=12345 asinBrandSameAs=45678 asinPriceBetween=50-100 lookback=60) | Target an audience that has viewed products in the given category, brand, and price range in the past 7,14,30,60, or 90 days. |\n| purchases(relatedProduct lookback=180) | Target an audience that has purchased a related product in the past 7,14,30,60,90,180 or 365 days|\n| purchases(exactProduct lookback=365) | Target an audience that has purchased the advertised asins in the past 7,14,30,60,90,180 or 365 days|\n| purchases(asinCategorySameAs=12345 asinBrandSameAs=45678 asinPriceBetween=50-100 lookback=90) | Target an audience that has purchased products in the given category, brand, and price range in the past 7,14,30,60,90,180 or 365 days |\n\nNote:\n1. There is a limit of 20 targeting clauses per request for T00030.\n2. There is a limit of 100 targeting clauses per request for T00020.\n3. If you receive the error of \"Cannot create targeting clause: audience size is too small\", please expand or broaden your targeting clause to increase the audience size.", + "description": "Successfully created targeting clauses are assigned a unique `targetId` value.\n\nCreate new targeting clauses for campaigns with tactic 'T00020' using the following:\n| Contextual targeting clause | Description |\n|------------------|-------------|\n| similarProduct | Dynamic segment to target products that are similar to the advertised asin. We recommend using 'similarProduct' targeting for all adGroups. |\n| asinSameAs=B0123456789 | Target this product. |\n| asinCategorySameAs=12345 | Target products in the category. |\n| asinCategorySameAs=12345 asinBrandSameAs=45678 | Target products in the category and brand. |\n\n**Refinements:**\n- asinBrandSameAs\n- asinPriceBetween\n- asinPriceGreaterThan\n- asinPriceLessThan\n- asinReviewRatingLessThan\n- asinReviewRatingGreaterThan\n- asinReviewRatingBetween\n- asinIsPrimeShippingEligible\n- asinAgeRangeSameAs\n- asinGenreSameAs\n\n**Refinement Notes:**\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* 'similarProduct' has no expression value or refinements.\n\nCreate new targeting clauses for campaigns with tactic 'T00030' using the following:\n| Audience targeting clause | Description |\n|------------------|-------------|\n| views(exactProduct lookback=30) | Target an audience that has viewed the advertised asins in the past 7,14,30,60, or 90 days. Note: This target should only be used for productAds with SKU or ASIN. |\n| views(similarProduct lookback=60) | Target an audience that has viewed similar products to the advertised asins in the past 7,14,30,60, or 90 days. Note: This target should only be used for productAds with SKU or ASIN.|\n| views(asinCategorySameAs=12345 lookback=90) | Target an audience that has viewed products in the given category in the past 7,14,30,60, or 90 days. |\n| views(asinCategorySameAs=12345 asinBrandSameAs=45678 asinPriceBetween=50-100 lookback=60) | Target an audience that has viewed products in the given category, brand, and price range in the past 7,14,30,60, or 90 days. |\n| purchases(relatedProduct lookback=180) | Target an audience that has purchased a related product in the past 7,14,30,60,90,180 or 365 days. Note: This target should only be used for productAds with SKU or ASIN.|\n| purchases(exactProduct lookback=365) | Target an audience that has purchased the advertised asins in the past 7,14,30,60,90,180 or 365 days. Note: This target should only be used for productAds with SKU or ASIN.|\n| purchases(asinCategorySameAs=12345 asinBrandSameAs=45678 asinPriceBetween=50-100 lookback=90) | Target an audience that has purchased products in the given category, brand, and price range in the past 7,14,30,60,90,180 or 365 days |\n\nNote:\n1. There is a limit of 20 targeting clauses per request for T00030.\n2. There is a limit of 100 targeting clauses per request for T00020.\n3. If you receive the error of \"Cannot create targeting clause: audience size is too small\", please expand or broaden your targeting clause to increase the audience size.", "operationId": "createTargetingClauses", "parameters": [ { @@ -3547,6 +3583,10 @@ "expression": { "type": "asinSameAs", "value": "B0123456789" + }, + "resolvedExpression": { + "type": "asinSameAs", + "value": "B0123456789" } } } @@ -3810,6 +3850,10 @@ "type": "asinSameAs", "value": "B0123456789" }, + "resolvedExpression": { + "type": "asinSameAs", + "value": "B0123456789" + }, "servingStatus": "TARGET_STATUS_PAUSED", "creationDate": 1537568785000, "lastUpdateDate": 1537568785000 @@ -3924,6 +3968,10 @@ "type": "asinSameAs", "value": "B0123456789" }, + "resolvedExpression": { + "type": "asinSameAs", + "value": "B0123456789" + }, "servingStatus": "TARGET_STATUS_PAUSED", "creationDate": 1537568785000, "lastUpdateDate": 1537568785000 @@ -4001,17 +4049,31 @@ ], "operationId": "getTargetRecommendations", "summary": "Returns a set of recommended products and categories to target", - "description": "This API provides product and category recommendations to target based on the list of input ASINs.\nAllow 1 week for our systems to process data for any new ASINs listed on Amazon before using this service.\n\nFor API v3.0, the API returns up to 100 recommendations for contextual targeting.\n\nFor API v3.1, the API returns up to 100 recommendations for both product and category targeting.\n\nFor API v3.2, the API introduces contextual targeting themes in the request and returns product recommendations based on different targeting themes.\n\nThe currently available tactic identifiers are:\n\n|Tactic Name|Type|Description|\n|-----------|----|-----------|\n|T00020 |Contextual Targeting|Products: Choose individual products to show your ads in placements related to those products.|\n|T00030 |Audience Targeting|Audiences: Select individual audiences to show your ads.|", + "description": "This API provides product, category and standard audience recommendations to target based on the list of input ASINs. Allow 1 week for our systems to process data for any new ASINs listed on Amazon before using this service. Note - recommendations are only available for productAds with SKU or ASIN.\n\nFor API v3.0, the API returns up to 100 recommendations for contextual targeting.\n\nFor API v3.1, the API returns up to 100 recommendations for both product and category targeting.\n\nFor API v3.2, the API introduces contextual targeting themes in the request and returns product recommendations based on different targeting themes.\n\nFor API v3.3, the API introduces standard audience recommendations and translated category recommendations based on locale.\n\nThe currently available tactic identifiers are:\n\n|Tactic Name|Type|Description|\n|-----------|----|-----------|\n|T00020 |Contextual Targeting|Products: Choose individual products to show your ads in placements related to those products.|\n|T00030 |Audience Targeting|Audiences: Select individual audiences to show your ads.|", "parameters": [ { "$ref": "#/components/parameters/clientHeader" }, { "$ref": "#/components/parameters/profileHeader" + }, + { + "name": "locale", + "in": "query", + "description": "The requested locale from query parameter to return translated category recommendations.", + "required": false, + "schema": { + "$ref": "#/components/schemas/SDTargetingRecommendationsLocale" + } } ], "requestBody": { "content": { + "application/vnd.sdtargetingrecommendations.v3.3+json": { + "schema": { + "$ref": "#/components/schemas/SDTargetingRecommendationsRequestV33" + } + }, "application/vnd.sdtargetingrecommendations.v3.2+json": { "schema": { "$ref": "#/components/schemas/SDTargetingRecommendationsRequestV32" @@ -4033,6 +4095,11 @@ "200": { "description": "Successful operation.", "content": { + "application/vnd.sdtargetingrecommendations.v3.3+json": { + "schema": { + "$ref": "#/components/schemas/SDTargetingRecommendationsResponseV33" + } + }, "application/vnd.sdtargetingrecommendations.v3.2+json": { "schema": { "$ref": "#/components/schemas/SDTargetingRecommendationsResponseV32" @@ -4116,7 +4183,7 @@ "/sd/negativeTargets": { "get": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Gets a list of negative targeting clauses.", "description": "Gets a list of negative targeting clauses objects for a requested set of Sponsored Display negative targets. Note that the Negative Targeting Clause object is designed for performance, and includes a small set of commonly used fields to reduce size. If the extended set of fields is required, use the negative target operations that return the NegativeTargetingClauseEx object.", @@ -4259,7 +4326,7 @@ }, "put": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Updates one or more negative targeting clauses.", "description": "Updates one or more negative targeting clauses. Negative targeting clauses are identified using their targetId. The mutable field is `state`. Maximum length of the array is 100 objects.", @@ -4364,7 +4431,7 @@ }, "post": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Creates one or more negative targeting clauses.", "description": "Successfully created negative targeting clauses associated with an ad group are assigned a unique target identifier.\nProduct negative targeting clause examples:\n| Negative targeting clause | Description |\n|---------------------------|-------------|\n| asinSameAs=B0123456789 | Negatively target this product.|\n| asinBrandSameAs=12345 | Negatively target products in the brand.|", @@ -4471,7 +4538,7 @@ "/sd/negativeTargets/{negativeTargetId}": { "get": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Gets a negative targeting clause specified by identifier.", "description": "This call returns the minimal set of negative targeting clause fields, but is more efficient than getNegativeTargetsEx.", @@ -4569,7 +4636,7 @@ }, "delete": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Sets the `state` of a negative targeting clause to `archived`.", "description": "Equivalent to using the updateNegativeTargetingClauses operation to set the `state` property of a targeting clause to `archived`. See [Developer Notes](http://advertising.amazon.com/API/docs/guides/developer_notes#Archiving) for more information.", @@ -4669,7 +4736,7 @@ "/sd/negativeTargets/extended": { "get": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Gets a list of negative targeting clause objects with extended fields.", "description": "Gets an array of NegativeTargetingClauseEx objects for a set of requested negative targets. Note that this call returns the full set of negative targeting clause extended fields, but is less efficient than getNegativeTargets.", @@ -4822,7 +4889,7 @@ "/sd/negativeTargets/extended/{negativeTargetId}": { "get": { "tags": [ - "Negative targeting" + "Negative Targeting" ], "summary": "Gets extended information for a negative targeting clause.", "description": "Gets a negative targeting clause with extended fields. Note that this call returns the full set of negative targeting clause extended fields, but is less efficient than getNegativeTarget.", @@ -4925,7 +4992,7 @@ "Snapshots" ], "summary": "Request a file-based snapshot of all entities of the specified type in the account satisfying the filtering criteria", - "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/concepts/snapshots/sponsored-ads-reports).**", + "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/guides/snapshots/get-started).**", "operationId": "createSnapshot", "parameters": [ { @@ -5024,7 +5091,7 @@ "Snapshots" ], "summary": "Retrieve status, metadata, and location of previously requested snapshot", - "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/tutorials/sponsored-ads-snapshots).**", + "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/guides/snapshots/get-started).**", "operationId": "getSnapshot", "parameters": [ { @@ -5113,7 +5180,7 @@ "Snapshots" ], "summary": "Download previously requested snapshot", - "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/concepts/snapshots/sponsored-ads).**", + "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/guides/snapshots/overview).**", "operationId": "downloadSnapshot", "parameters": [ { @@ -5438,7 +5505,7 @@ } ], "requestBody": { - "description": "An array of Creative objects to create. Maximum length of the array is 100 objects.", + "description": "An array of Creative objects to create. Maximum length of the array is 100 objects. Note - when using productAds with landingPageURL of OFF_AMAZON_LINK, STORE, or MOMENT, the following properties are required all together;\n1) headline, 2) brandLogo, and 3) rectCustomImage, squareCustomImage.", "content": { "application/json": { "schema": { @@ -6053,7 +6120,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. Note - these recommendations are only available when productAds have ASIN or SKU fields.\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 related products 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" @@ -6158,7 +6225,7 @@ "/sd/optimizationRules": { "get": { "tags": [ - "Optimization rules [Preview Only]" + "Optimization Rules [Preview Only]" ], "summary": "Gets a list of optimization rules.", "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. Gets an array of OptimizationRule objects for a requested set of Sponsored Display optimization rules.", @@ -6230,7 +6297,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOptimizationRuleResponse" + "$ref": "#/components/schemas/OptimizationRule" } } } @@ -6300,7 +6367,7 @@ }, "put": { "tags": [ - "Optimization rules [Preview Only]" + "Optimization Rules [Preview Only]" ], "summary": "Updates one or more optimization rules.", "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", @@ -6407,10 +6474,10 @@ }, "post": { "tags": [ - "Optimization rules [Preview Only]" + "Optimization Rules [Preview Only]" ], - "summary": "Creates one or more optimization rules.", - "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "summary": "Creates one or more optimization rules, also known as outcome optimizations.", + "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. \n\n* When an optimization rule is associated to an ad group, manual bids for individual targets will be overridden.\n* Optimization rules can only be associated to ad groups that have productAds with ASIN or SKU.\n* If you are using optimization rules, the following campaign budget must be at least:\n - 5x the value of any COST_PER_ORDER threshold.\n - 10x the value of any COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS threshold.\n - 20x the value of any COST_PER_CLICK threshold.", "operationId": "createOptimizationRules", "parameters": [ { @@ -6516,7 +6583,7 @@ "/sd/optimizationRules/{optimizationRuleId}": { "get": { "tags": [ - "Optimization rules [Preview Only]" + "Optimization Rules [Preview Only]" ], "summary": "Gets a requested optimization rule.", "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. Gets an OptimizationRule object for a requested Sponsored Display optimization rule.", @@ -6614,10 +6681,10 @@ "/sd/adGroups/{adGroupId}/optimizationRules": { "post": { "tags": [ - "Optimization rules [Preview Only]" + "Optimization Rules [Preview Only]" ], - "summary": "Associate one or more optimization rules to an ad group specified by identifier. Only one optimization rule can be associated per adGroup. This note will be removed when multiple rules are supported per adGroup.", - "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "summary": "Associate one or more optimization rules to an ad group specified by identifier.", + "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.\n\n* When an optimization rule is associated to an ad group, manual bids for individual targets will be overridden.\n* Only one optimization rule can be associated per adGroup. This note will be removed when multiple rules are supported per adGroup.", "operationId": "associateOptimizationRulesWithAdGroup", "parameters": [ { @@ -6726,7 +6793,7 @@ }, "get": { "tags": [ - "Optimization rules [Preview Only]" + "Optimization Rules [Preview Only]" ], "summary": "Gets a list of optimization rules associated to an adgroup specified by identifier.", "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. Gets an OptimizationRule object for a requested Sponsored Display optimization rule.", @@ -6825,48 +6892,107 @@ } } }, - "/sd/adGroups/{adGroupId}/optimizationRules/{optimizationRuleId}": { - "delete": { + "/sd/forecasts": { + "post": { "tags": [ - "Optimization rules [Preview Only]" + "Forecasts" ], - "summary": "Disassociate optimization rule from an ad group.", - "description": "This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", - "operationId": "disassociateOptimizationRule", + "summary": "Return forecasts for an ad group that may or may not exist.", + "requestBody": { + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastRequest" + } + } + } + }, + "operationId": "createSDForecast", + "description": "Returns forecasts for a given ad group specified in SD forecast request.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" }, { "$ref": "#/components/parameters/profileHeader" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastResponse" + } + } + } }, - { - "name": "optimizationRuleId", - "in": "path", - "description": "The identifier of the optimization rule.", - "required": true, - "schema": { - "type": "string" + "400": { + "description": "Bad Request.", + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastErrorResponse" + } + } } }, - { - "name": "adGroupId", - "in": "path", - "description": "The identifier of the ad group.", - "required": true, - "schema": { - "type": "integer", - "format": "int64" + "401": { + "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.", + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastErrorResponse" + } + } + } + }, + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastErrorResponse" + } + } + } + }, + "500": { + "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.", + "content": { + "application/vnd.sdforecasts.v3.0+json": { + "schema": { + "$ref": "#/components/schemas/SDForecastErrorResponse" + } + } } } - ], + } + } + }, + "/sd/campaigns/{campaignId}/budgetRules/budgetHistory": { + "get": { + "summary": "Gets the budget history for a campaign specified by identifier.", + "description": "**Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days.", + "operationId": "getRuleBasedBudgetHistoryForSDCampaigns", "responses": { "200": { "description": "Successful operation.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OptimizationRuleResponse" + "$ref": "#/components/schemas/SDBudgetHistory" } } } @@ -6876,96 +7002,143 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BudgetRuleError" } } } }, "401": { - "description": "Unauthorized - Request failed because 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/Error" + "$ref": "#/components/schemas/BudgetRuleError" } } } }, "403": { - "description": "Forbidden - Request failed because user does not have access to a specified resource", + "description": "Forbidden. The request failed because user does not have access to a specified resource.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BudgetRuleError" } } } }, - "404": { - "description": "Not Found - Requested resource does not exist or is not visible for the authenticated user.", + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$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/Error" + "$ref": "#/components/schemas/BudgetRuleError" } } } }, "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 later and report an error if unresolved.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BudgetRuleError" } } } } - } - } - }, - "/sd/forecasts": { - "post": { - "tags": [ - "Forecasts" - ], - "summary": "Return forecasts for an ad group that may or may not exist.", - "requestBody": { - "content": { - "application/vnd.sdforecasts.v3.0+json": { - "schema": { - "$ref": "#/components/schemas/SDForecastRequest" - } - } - } }, - "operationId": "createSDForecast", - "description": "Returns forecasts for a given ad group specified in SD forecast request.", "parameters": [ { - "$ref": "#/components/parameters/clientHeader" + "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 }, { - "$ref": "#/components/parameters/profileHeader" + "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": { + "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": [ + "Budget Rules" + ] + } + }, + "/sd/budgetRules/{budgetRuleId}": { + "get": { + "summary": "Gets a budget rule specified by identifier.", + "operationId": "GetBudgetRuleByRuleIdForSDCampaigns", "responses": { "200": { "description": "Successful operation.", "content": { - "application/vnd.sdforecasts.v3.0+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/SDForecastResponse" + "$ref": "#/components/schemas/GetSDBudgetRuleResponse" } } } @@ -6973,9 +7146,9 @@ "400": { "description": "Bad Request.", "content": { - "application/vnd.sdforecasts.v3.0+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/SDForecastErrorResponse" + "$ref": "#/components/schemas/BudgetRuleError" } } } @@ -6983,9 +7156,9 @@ "401": { "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.", "content": { - "application/vnd.sdforecasts.v3.0+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/SDForecastErrorResponse" + "$ref": "#/components/schemas/BudgetRuleError" } } } @@ -6993,9 +7166,19 @@ "403": { "description": "Forbidden. The request failed because user does not have access to a specified resource.", "content": { - "application/vnd.sdforecasts.v3.0+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/SDForecastErrorResponse" + "$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" } } } @@ -7003,9 +7186,9 @@ "429": { "description": "Too Many Requests. The request was rate-limited. Retry later.", "content": { - "application/vnd.sdforecasts.v3.0+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/SDForecastErrorResponse" + "$ref": "#/components/schemas/BudgetRuleError" } } } @@ -7013,933 +7196,899 @@ "500": { "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.", "content": { - "application/vnd.sdforecasts.v3.0+json": { + "application/json": { "schema": { - "$ref": "#/components/schemas/SDForecastErrorResponse" + "$ref": "#/components/schemas/BudgetRuleError" } } } } - } - } - } - }, - "components": { - "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. |", - "example": "T00020", - "enum": [ - "T00020", - "T00030" - ] - }, - "Segment": { - "type": "string", - "description": "Optional. A dimension used to further segment certain types of reports.\n\nNote: matchedTarget reports only return targets that have generated at least one click.\n| Dimension | Report types | Tactics | Metrics | Description |\n|---------|------------------|-------------|-------------|------------|\n| matchedTarget | campaigns, adGroups, targets | T00020, T00030 | Existing metrics for each report type are accepted. | Segments a report based on the ASIN of the product page where the ad appeared.|", - "example": "matchedTarget", - "enum": [ - "matchedTarget" - ] - }, - "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.|", - "example": "T00020", - "enum": [ - "T00020", - "T00030" - ] - }, - "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.|", - "example": null, - "enum": [ - "IMAGE", - "VIDEO" - ] - }, - "BaseCampaign": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the campaign." + }, + "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 }, - "budgetType": { - "type": "string", - "description": "The time period over which the amount specified in the `budget` property is allocated.", - "enum": [ - "daily" - ] + { + "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 }, - "budget": { - "type": "number", - "description": "The amount of the budget.", - "format": "double", - "example": "3.00" + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "budgetRuleId", + "description": "The budget rule identifier.", + "required": true + } + ], + "tags": [ + "Budget Rules" + ] + } + }, + "/sd/budgetRules": { + "post": { + "summary": "Creates one or more budget rules.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateSDBudgetRulesRequest" + } + } }, - "startDate": { - "type": "string", - "description": "The YYYYMMDD start date of the campaign. The date must be today or in the future.", - "example": "20190101" + "required": true + }, + "operationId": "CreateBudgetRulesForSDCampaigns", + "responses": { + "207": { + "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateBudgetRulesResponse" + } + } + } }, - "endDate": { - "type": "string", - "nullable": true, - "description": "The YYYYMMDD end date of the campaign.", - "example": null + "400": { + "description": "Bad Request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "costType": { - "type": "string", - "description": "Determines how the campaign will bid and charge.\n|Name|Supported Tactics|Description|\n|----|----------|-----------|\n|cpc |T00020 T00030|[Default] The performance of this campaign is measured by the clicks triggered by the ad.|\n|vcpm |T00020 T00030|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.|", - "enum": [ - "cpc", - "vcpm" - ] + "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" + } + } + } }, - "state": { - "type": "string", - "description": "The state of the campaign.", - "enum": [ - "enabled", - "paused", - "archived" - ] + "403": { + "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "portfolioId": { - "type": "integer", - "format": "int64", - "nullable": true, - "description": "Identifier of the portfolio that will be associated with the campaign. If null then the campaign will be disassociated from existing portfolio. Campaigns with CPC and vCPM costType are supported.", - "example": null - } - } - }, - "Campaign": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseCampaign" + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - { - "type": "object", - "properties": { - "campaignId": { - "$ref": "#/components/schemas/CampaignId" - }, - "tactic": { - "$ref": "#/components/schemas/Tactic" - }, - "deliveryProfile": { - "type": "string", - "enum": [ - "as_soon_as_possible" - ] + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } } } - } - ] - }, - "CreateCampaign": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseCampaign" }, - { - "type": "object", - "properties": { - "tactic": { - "$ref": "#/components/schemas/Tactic" + "500": { + "description": "Internal Server BudgetRuleError - Something went wrong on the server. Retry later and report an BudgetRuleError if unresolved.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } } } } - ] - }, - "UpdateCampaign": { - "required": [ - "campaignId" - ], - "allOf": [ + }, + "parameters": [ { - "$ref": "#/components/schemas/BaseCampaign" + "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 }, { - "type": "object", - "properties": { - "campaignId": { - "$ref": "#/components/schemas/CampaignId" - } - } + "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 } + ], + "tags": [ + "Budget Rules" ] }, - "CampaignId": { - "type": "integer", - "format": "int64", - "description": "The identifier of the campaign." - }, - "CampaignResponse": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." - }, - "description": { - "type": "string", - "description": "A human-readable description of the response." + "get": { + "summary": "Get all budget rules created by an advertiser", + "operationId": "GetSDBudgetRulesForAdvertiser", + "responses": { + "200": { + "description": "Successful operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetSDBudgetRulesForAdvertiserResponse" + } + } + } }, - "campaignId": { - "$ref": "#/components/schemas/CampaignId" - } - } - }, - "CampaignResponseEx": { - "type": "object", - "properties": { - "campaignId": { - "type": "number", - "description": "The identifier of the campaign." + "400": { + "description": "Bad Request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "name": { - "type": "string", - "description": "The name of the campaign." - }, - "tactic": { - "$ref": "#/components/schemas/Tactic" - }, - "budgetType": { - "type": "string", - "description": "The time period over which the amount specified in the `budget` property is allocated.", - "enum": [ - "daily" - ] - }, - "budget": { - "type": "number", - "description": "The amount of the budget.", - "format": "double" - }, - "startDate": { - "type": "string", - "description": "The YYYYMMDD start date of the campaign. The date must be today or in the future." - }, - "endDate": { - "type": "string", - "description": "The YYYYMMDD end date of the campaign." - }, - "state": { - "type": "string", - "description": "The state of the campaign.", - "enum": [ - "enabled", - "paused", - "archived" - ] - }, - "portfolioId": { - "type": "integer", - "description": "Identifier of the portfolio that will be associated with the campaign. If null then the campaign will be disassociated from existing portfolio. Campaigns with CPC and vCPM costType are supported.", - "format": "int64" + "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" + } + } + } }, - "servingStatus": { - "type": "string", - "description": "The status of the campaign.", - "enum": [ - "ADVERTISER_STATUS_ENABLED", - "STATUS_UNAVAILABLE", - "ADVERTISER_PAUSED", - "ACCOUNT_OUT_OF_BUDGET", - "ADVERTISER_PAYMENT_FAILURE", - "CAMPAIGN_PAUSED", - "CAMPAIGN_ARCHIVED", - "PENDING_START_DATE", - "ENDED", - "CAMPAIGN_OUT_OF_BUDGET" - ] + "403": { + "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "costType": { - "type": "string", - "description": "Determines how the campaign will bid and charge.\n|Name|Supported Tactics|Description|\n|----|----------|-----------|\n|cpc |T00020 T00030|[Default] The performance of this campaign is measured by the clicks triggered by the ad.|\n|vcpm|T00020 T00030|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.|", - "enum": [ - "cpc", - "vcpm" - ] + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "creationDate": { - "type": "integer", - "description": "Epoch date the campaign was created.", - "format": "int64" + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "lastUpdatedDate": { - "type": "integer", - "description": "Epoch date of the last update to any property associated with the campaign.", - "format": "int64" + "500": { + "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/BudgetRuleError" + } + } + } } - } - }, - "BaseAdGroup": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the ad group." - }, - "campaignId": { - "$ref": "#/components/schemas/CampaignId" - }, - "defaultBid": { - "type": "number", - "description": "The amount of the default bid associated with the ad group. Used if no bid is specified.", - "format": "double" + }, + "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 }, - "bidOptimization": { - "type": "string", - "description": "Bid Optimization for the Adgroup. Default behavior is to optimize for clicks.\n|Name|CostType|Supported Tactics|Description|\n|----|----------|-----------|-----------|\n|clicks |cpc|T00020 T00030|[Default] Optimize for page visits|\n|conversions |cpc|T00020 T00030|Optimize for conversion|\n|reach |vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.|", - "enum": [ - "clicks", - "conversions", - "reach" - ] + { + "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 }, - "state": { - "type": "string", - "description": "The state of the ad group.", - "enum": [ - "enabled", - "paused", - "archived" - ] - } - } - }, - "AdGroupId": { - "type": "integer", - "format": "int64", - "description": "The identifier of the ad group." - }, - "AdGroup": { - "allOf": [ { - "$ref": "#/components/schemas/BaseAdGroup" + "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." }, { - "type": "object", - "properties": { - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" - }, - "tactic": { - "$ref": "#/components/schemas/Tactic" - }, - "creativeType": { - "$ref": "#/components/schemas/CreativeType" - } - } + "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": [ + "Budget Rules" ] }, - "CreateAdGroup": { - "required": [ - "campaignId", - "name", - "state" - ], - "allOf": [ - { - "$ref": "#/components/schemas/BaseAdGroup" + "put": { + "summary": "Update one or more budget rules.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSDBudgetRulesRequest" + } + } }, - { - "type": "object", - "properties": { - "creativeType": { - "$ref": "#/components/schemas/CreativeType" + "required": true + }, + "operationId": "UpdateBudgetRulesForSDCampaigns", + "responses": { + "207": { + "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateBudgetRulesResponse" + } } } - } - ] - }, - "UpdateAdGroup": { - "required": [ - "adGroupId" - ], - "allOf": [ - { - "$ref": "#/components/schemas/BaseAdGroup" }, - { - "type": "object", - "properties": { - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" + "400": { + "description": "Bad Request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } } } - } - ] - }, - "AdGroupResponse": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." }, - "description": { - "type": "string", - "description": "A human-readable description of the response." + "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" + } + } + } }, - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" - } - } - }, - "AdGroupResponseEx": { - "type": "object", - "description": "Object containing an extended set of data fields for an Ad Group.", - "properties": { - "adGroupId": { - "type": "number", - "description": "The identifier of the ad group." - }, - "name": { - "type": "string", - "description": "The name of the ad group." + "403": { + "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "campaignId": { - "type": "number", - "description": "The identifier of the campaign that this ad group is associated with." + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "defaultBid": { - "type": "number", - "description": "The amount of the default bid associated with the ad group. Used if no bid is specified.", - "format": "double" + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } }, - "state": { - "type": "string", - "description": "The delivery state of the ad group.", - "enum": [ - "enabled", - "paused", - "archived" - ] + "500": { + "description": "Internal Server BudgetRuleError - Something went wrong on the server. Retry later and report an BudgetRuleError if unresolved.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetRuleError" + } + } + } + } + }, + "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 }, - "tactic": { - "$ref": "#/components/schemas/Tactic" + { + "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 + } + ], + "tags": [ + "Budget Rules" + ] + } + }, + "/sd/campaigns/budget/usage": { + "post": { + "summary": "Budget usage API for SD campaigns", + "description": "**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", + "tags": [ + "Budget Usage" + ], + "requestBody": { + "content": { + "application/vnd.sdcampaignbudgetusage.v1+json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageCampaignRequest" + } + } + } + }, + "operationId": "sdCampaignsBudgetUsage", + "responses": { + "207": { + "description": "Multi-status. An object containing a list of budget usage response objects reflecting the same order as the input.", + "content": { + "application/vnd.sdcampaignbudgetusage.v1+json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageCampaignResponse" + } + } + } }, - "creativeType": { - "$ref": "#/components/schemas/CreativeTypeInCreativeResponse" + "400": { + "description": "Bad Request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageError" + } + } + } }, - "servingStatus": { - "type": "string", - "description": "The status of the ad group.", - "enum": [ - "ADVERTISER_STATUS_ENABLED", - "STATUS_UNAVAILABLE", - "ADVERTISER_PAUSED", - "ACCOUNT_OUT_OF_BUDGET", - "ADVERTISER_PAYMENT_FAILURE", - "CAMPAIGN_PAUSED", - "CAMPAIGN_ARCHIVED", - "PENDING_START_DATE", - "ENDED", - "CAMPAIGN_OUT_OF_BUDGET", - "AD_GROUP_STATUS_ENABLED", - "AD_GROUP_PAUSED", - "AD_GROUP_ARCHIVED", - "AD_GROUP_INCOMPLETE", - "AD_GROUP_LOW_BID", - "ADGROUP_POLICING_PENDING_REVIEW", - "ADGROUP_POLICING_CREATIVE_REJECTED" - ] + "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/BudgetUsageError" + } + } + } }, - "bidOptimization": { - "type": "string", - "description": "Bid optimization type for the Adgroup. Default behavior is to optimize for clicks.\n|Name|CostType|Supported Tactics|Description|\n|----|----------|-----------|-----------|\n|clicks [Default]|cpc|T00020 T00030|Optimize for page visits|\n|conversions|cpc|T00020 T00030|Optimize for conversion|\n|reach|vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.|", - "enum": [ - "clicks", - "conversions", - "reach" - ] + "403": { + "description": "Forbidden. The request failed because user does not have access to a specified resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageError" + } + } + } }, - "creationDate": { - "type": "integer", - "description": "Epoch time the ad group was created.", - "format": "int64" + "422": { + "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageError" + } + } + } }, - "lastUpdatedDate": { - "description": "Epoch time any property in the ad group was last updated.", - "type": "integer", - "format": "int64" - } - } - }, - "BaseProductAd": { - "type": "object", - "properties": { - "state": { - "type": "string", - "description": "The state of the campaign associated with the product ad.", - "enum": [ - "enabled", - "paused", - "archived" - ] - } - } - }, - "ProductAd": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseProductAd" + "429": { + "description": "Too Many Requests. The request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BudgetUsageError" + } + } + } }, - { - "type": "object", - "properties": { - "adId": { - "$ref": "#/components/schemas/AdId" - }, - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" - }, - "campaignId": { - "$ref": "#/components/schemas/CampaignId" - }, - "asin": { - "type": "string", - "description": "The ASIN of the product advertised by the product ad." - }, - "sku": { - "type": "string", - "description": "The SKU of the product advertised by the product ad." + "500": { + "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/BudgetUsageError" + } } } } - ] - }, - "CreateProductAd": { - "required": [ - "campaignId", - "adGroupId", - "state", - "asin", - "sku" - ], - "allOf": [ + }, + "parameters": [ { - "$ref": "#/components/schemas/BaseProductAd" + "schema": {}, + "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 }, { - "type": "object", - "properties": { - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" - }, - "campaignId": { - "$ref": "#/components/schemas/CampaignId" - }, - "asin": { - "type": "string", - "description": "The ASIN of the product advertised by the product ad." - }, - "sku": { - "type": "string", - "description": "The SKU of the product advertised by the product ad." - } - } + "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 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 } ] - }, - "UpdateProductAd": { - "required": [ - "adId" + } + }, + "/sd/locations": { + "get": { + "tags": [ + "Locations (beta)" ], - "allOf": [ + "summary": "Gets a list of locations associated with ad groups.", + "description": "Gets a list of Sponsored Display Location objects. This resource is not available when productAds have ASIN or SKU fields and only available for advertisers that do not sell products on Amazon. See [Developer Guide](https://advertising.amazon.com/API/docs/en-us/guides/sponsored-display/non-amazon-sellers/get-started)", + "operationId": "listLocations", + "parameters": [ { - "$ref": "#/components/schemas/BaseProductAd" + "$ref": "#/components/parameters/clientHeader" }, { - "type": "object", - "properties": { - "adId": { - "$ref": "#/components/schemas/AdId" - } + "$ref": "#/components/parameters/profileHeader" + }, + { + "name": "startIndex", + "in": "query", + "description": "Optional. 0-indexed record offset for the result set. Defaults to 0.", + "schema": { + "type": "integer", + "format": "int32" } - } - ] - }, - "AdId": { - "type": "integer", - "format": "int64", - "description": "The identifier of the product ad." - }, - "ProductAdResponse": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." }, - "description": { - "type": "string", - "description": "A human-readable description of the response." + { + "name": "count", + "in": "query", + "description": "Optional. Number of records to include in the paged response. Defaults to max page size.", + "schema": { + "type": "integer", + "format": "int32" + } }, - "adId": { - "type": "number", - "description": "The identifier of the ad." - } - } - }, - "ProductAdResponseEx": { - "type": "object", - "properties": { - "adId": { - "type": "number", - "description": "The identifier of the ad." + { + "name": "stateFilter", + "in": "query", + "description": "Optional. Restricts results to those with state within the specified comma-separated list. Must be one of: `enabled`.", + "schema": { + "type": "string", + "enum": [ + "enabled" + ], + "default": "enabled" + } }, - "adGroupId": { - "type": "number", - "description": "The identifier of the ad group associated with the ad." + { + "name": "adGroupIdFilter", + "in": "query", + "description": "Optional list of comma separated adGroupIds. Restricts results to locations with the specified `adGroupId`.", + "schema": { + "type": "string" + } }, - "campaignId": { - "type": "number", - "description": "The identifier of the campaign associated with the ad." + { + "name": "campaignIdFilter", + "in": "query", + "description": "Optional list of comma separated campaignIds. Restricts results to locations with the specified `campaignId`.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Location" + } + } + } + } }, - "asin": { - "type": "string", - "description": "The ASIN of the product being advertised." + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } }, - "sku": { - "type": "string", - "description": "The SKU of the product being advertised." + "401": { + "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } }, - "state": { - "type": "string", - "description": "The state of the product ad.", - "enum": [ - "enabled", - "paused", - "archived" - ] + "403": { + "description": "Forbidden - Request failed because user does not have access to a specified resource", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } }, - "servingStatus": { - "type": "string", - "description": "The status of the product ad.", - "enum": [ - "ADVERTISER_STATUS_ENABLED", - "STATUS_UNAVAILABLE", - "ADVERTISER_PAUSED", - "ACCOUNT_OUT_OF_BUDGET", - "ADVERTISER_PAYMENT_FAILURE", - "CAMPAIGN_PAUSED", - "CAMPAIGN_ARCHIVED", - "PENDING_START_DATE", - "ENDED", - "CAMPAIGN_OUT_OF_BUDGET", - "AD_GROUP_STATUS_ENABLED", - "AD_GROUP_PAUSED", - "AD_GROUP_ARCHIVED", - "AD_GROUP_INCOMPLETE", - "AD_GROUP_LOW_BID", - "AD_STATUS_LIVE", - "AD_STATUS_PAUSED", - "AD_STATUS_ARCHIVED", - "MISSING_IMAGE", - "MISSING_DECORATION", - "NOT_BUYABLE", - "NOT_IN_BUYBOX", - "OUT_OF_STOCK", - "NOT_IN_POLICY" - ] + "422": { + "description": "Unprocessable Entity - Request was understood, but contained invalid parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } }, - "creationDate": { - "type": "integer", - "description": "Epoch date the product ad was created.", - "format": "int64" + "429": { + "description": "Too Many Requests - Request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } }, - "lastUpdatedDate": { - "type": "integer", - "description": "Epoch date of the last update to any property associated with the product ad.", - "format": "int64" + "500": { + "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/Error" + } + } + } } } }, - "TargetingPredicate": { - "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.", - "properties": { - "type": { - "type": "string", - "enum": [ - "asinSameAs", - "asinCategorySameAs", - "asinBrandSameAs", - "asinPriceBetween", - "asinPriceGreaterThan", - "asinPriceLessThan", - "asinReviewRatingLessThan", - "asinReviewRatingGreaterThan", - "asinReviewRatingBetween", - "asinIsPrimeShippingEligible", - "asinAgeRangeSameAs", - "asinGenreSameAs", - "similarProduct" - ] + "post": { + "tags": [ + "Locations" + ], + "summary": "Creates one or more locations associated with an ad group.", + "description": "This resource is not available when productAds have ASIN or SKU fields and only available for advertisers that do not sell products on Amazon. See [Developer Guide](https://advertising.amazon.com/API/docs/en-us/guides/sponsored-display/non-amazon-sellers/get-started)\n\nLocations optimize Ad Groups for delivery to users that have an association with those locations. For example,\nan Ad Group might contain the following: \n- A Targeting Clause representing an audience of users that viewed a shoe \n- A Location representing Seattle, Washington, USA.\n- A Location representing New York, New York, USA.\nIn this case, delivery of the Targeting Clause will be optimized for New York and Seattle.\n\n\nYou can discover predefined Locations to use in your Ad Groups by calling the GET /locations API. The table below lists \nseveral example Locations.\n| Location | Description |\n|---------------------------|-------------|\n| location=amzn1.ad-geo.XHvCjcKHXsKUwos= | Optimize the AdGroup for the specified location (either a 'city', 'state', 'dma', 'postal code', or 'country').|\n\nIf Locations are to be used, they must be created before Targeting Clauses within an Ad Group. Creating a Location after a \nTargeting Clause is only permitted if other Locations already exist in the Ad Group. In that case, additional \nLocations increase the Targeting Clause's potential reach.", + "operationId": "createLocations", + "parameters": [ + { + "$ref": "#/components/parameters/clientHeader" }, - "value": { - "type": "string", - "description": "The value to be targeted.", - "example": "B0123456789" + { + "$ref": "#/components/parameters/profileHeader" } - } - }, - "TargetingPredicateLegacy": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "asinSameAs", - "asinCategorySameAs", - "asinBrandSameAs", - "asinPriceBetween", - "asinPriceGreaterThan", - "asinPriceLessThan", - "asinReviewRatingLessThan", - "asinReviewRatingGreaterThan", - "asinReviewRatingBetween", - "similarProduct", - "exactProduct", - "asinIsPrimeShippingEligible", - "asinAgeRangeSameAs", - "asinGenreSameAs" - ] - }, - "value": { - "type": "string", - "description": "The value to be targeted.", - "example": "B0123456789" + ], + "requestBody": { + "description": "A list of up to 20 Locations for creation.", + "content": { + "application/json": { + "schema": { + "type": "array", + "minItems": 1, + "maxItems": 20, + "items": { + "$ref": "#/components/schemas/CreateLocation" + } + } + } }, - "eventType": { - "type": "string", - "description": "The type of event that the value applies to. Only available for similarProduct and exactProduct currently.\n* views event type corresponds to a customer who viewed the detail page of the product(s).", - "enum": [ - "views" - ] + "required": false + }, + "responses": { + "200": { + "description": "An array of Locations.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Location" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden - Request failed because user does not have access to a specified resource", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "422": { + "description": "Unprocessable Entity - Request was understood, but contained invalid parameters", + "content": { + "a-pplication/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "429": { + "description": "Too Many Requests - Request was rate-limited. Retry later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "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/Error" + } + } + } } } + } + } + }, + "components": { + "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.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads.|", + "example": "T00020", + "enum": [ + "T00020", + "T00030" + ] }, - "TargetingPredicateNested": { + "Segment": { + "type": "string", + "description": "Optional. A dimension used to further segment certain types of reports.\n\nNote: matchedTarget reports only return targets that have generated at least one click.\n| Dimension | Report types | Tactics | Metrics | Description |\n|---------|------------------|-------------|-------------|------------|\n| matchedTarget | campaigns, adGroups, targets | T00020, T00030 | Existing metrics for each report type are accepted. | Segments a report based on the ASIN of the product page where the ad appeared.|", + "example": "matchedTarget", + "enum": [ + "matchedTarget" + ] + }, + "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.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads.|", + "example": "T00020", + "enum": [ + "T00020", + "T00030" + ] + }, + "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|Description|\n|----|-----------|\n|IMAGE |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |The creative will display video assets. This type of creative must have a video asset provided. Only supported when using productAds with ASIN or SKU.|", + "example": null, + "enum": [ + "IMAGE", + "VIDEO" + ] + }, + "BaseCampaign": { "type": "object", - "description": "A behavioral event and list of targeting predicates that represents an audience to target (only applicable to audience targeting - T00030).\n\n* For manual ASIN-grain targeting, the value array must contain only, 'exactProduct', 'similarProduct', 'relatedProduct' and 'lookback' TargetingPredicateBase components. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For manual Category-grain targeting, the value array must contain a 'lookback' and 'asinCategorySameAs' TargetingPredicateBase component, which can be further refined with optional brand, price, star-rating and shipping eligibility refinements. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For Amazon Audiences targeting, the TargetingPredicateNested type should be set to 'audience' and the value array should include one TargetingPredicateBase component with type set to 'audienceSameAs'.\n* **Future** For manual Category-grain targeting, adding a 'negative' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.", "properties": { - "type": { + "name": { + "type": "string", + "description": "The name of the campaign." + }, + "budgetType": { "type": "string", + "description": "The time period over which the amount specified in the `budget` property is allocated.", "enum": [ - "views", - "audience", - "purchases" + "daily" ] }, - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingPredicateBase" - } - } - } - }, - "TargetingPredicateBase": { - "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', 'relatedProduct', and 'negative' types do not utilize the value field.\n* The only type currently applicable to Amazon Audiences targeting is 'audienceSameAs'.\n* A 'relatedProduct' TargetingPredicateBase will Target an audience that has purchased a related product in the past 7,14,30,60,90,180, or 365 days.\n* **Future** A 'negative' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.", - "properties": { - "type": { + "budget": { + "type": "number", + "description": "The amount of the budget.", + "format": "double", + "example": "3.00" + }, + "startDate": { "type": "string", + "description": "The YYYYMMDD start date of the campaign. The date must be today or in the future.", + "example": "20190101" + }, + "endDate": { + "type": "string", + "nullable": true, + "description": "The YYYYMMDD end date of the campaign.", + "example": null + }, + "costType": { + "type": "string", + "description": "Determines how the campaign will bid and charge.\n|Name|Description|\n|----|----------|\n|cpc |[Default] The performance of this campaign is measured by the clicks triggered by the ad.|\n|vcpm |The performance of this campaign is measured by the viewed impressions triggered by the ad. |\n\nTo view minimum and maximum bids based on the costType, see [Limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "enum": [ - "asinCategorySameAs", - "asinBrandSameAs", - "asinPriceBetween", - "asinPriceGreaterThan", - "asinPriceLessThan", - "asinReviewRatingLessThan", - "asinReviewRatingGreaterThan", - "asinReviewRatingBetween", - "similarProduct", - "exactProduct", - "asinIsPrimeShippingEligible", - "asinAgeRangeSameAs", - "asinGenreSameAs", - "audienceSameAs", - "lookback", - "negative", - "relatedProduct" + "cpc", + "vcpm" ] }, - "value": { - "type": "string", - "description": "The value to be targeted.", - "example": "B0123456789" - } - } - }, - "TargetingExpression": { - "type": "array", - "description": "The targeting expression to match against.\n\n------- Applicable to contextual targeting (T00020) -------\n* A 'TargetingExpression' in a contextual targeting campaign can only contain 'TargetingPredicate' components.\n* Expressions must specify either a category predicate or an ASIN predicate, but never both.\n* Only one category may be specified per targeting expression.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression.\n\n------- Applicable to audience targeting (T00030) -------\n* A 'TargetingExpression' in an audience campaign can only contain 'TargetingPredicateNested' components.\n* Expressions must specify ASIN-grain ('exactProduct'), manual ASIN-grain ('relatedProducts' or 'relatedProducts'), or category-grain targeting.\n* **Future** To exclude parts of an audience, specify a TargetingPredicateNested component that contains a negative TargetingPredicate type.", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/TargetingPredicate" - }, - { - "$ref": "#/components/schemas/TargetingPredicateLegacy" - }, - { - "$ref": "#/components/schemas/TargetingPredicateNested" - } - ] - } - }, - "CreateTargetingExpression": { - "type": "array", - "description": "The targeting expression to match against.\n\n------- Applicable to contextual targeting (T00020) -------\n* A 'TargetingExpression' in a contextual targeting campaign can only contain 'TargetingPredicate' components.\n* Expressions must specify either a category predicate or an ASIN predicate, but never both.\n* Only one category may be specified per targeting expression.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression.\n\n------- Applicable to audience targeting (T00030) -------\n* A 'TargetingExpression' in an audience campaign can only contain 'TargetingPredicateNested' components.\n* Expressions must specify either auto ASIN-grain (exact products), manual ASIN-grain (similar products), or manual category-grain targeting.\n* **Future** To exclude parts of an audience, specify a TargetingPredicateNested component that contains a negative TargetingPredicate type.", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/TargetingPredicate" - }, - { - "$ref": "#/components/schemas/TargetingPredicateNested" - } - ] - } - }, - "BaseTargetingClause": { - "type": "object", - "properties": { "state": { "type": "string", + "description": "The state of the campaign.", "enum": [ "enabled", "paused", "archived" ] }, - "bid": { - "type": "number", - "description": "The bid will override the adGroup bid if specified. This field is not used for negative targeting clauses. The bid must be less than the maximum allowable bid for the campaign's marketplace; for a list of maximum allowable bids, find the [\"Bid constraints by marketplace\" table in our documentation overview](https://advertising.amazon.com/API/docs/en-us/get-started/overview). You cannot manually set a bid when the targeting clause's adGroup has an enabled optimization rule.", - "format": "float", + "portfolioId": { + "type": "integer", + "format": "int64", "nullable": true, - "minimum": 0.02 + "description": "Identifier of the portfolio that will be associated with the campaign. If null then the campaign will be disassociated from existing portfolio. Campaigns with CPC and vCPM costType are supported.", + "example": null } } }, - "TargetingClause": { + "Campaign": { "allOf": [ { - "$ref": "#/components/schemas/BaseTargetingClause" + "$ref": "#/components/schemas/BaseCampaign" }, { "type": "object", "properties": { - "targetId": { - "$ref": "#/components/schemas/TargetId" + "campaignId": { + "$ref": "#/components/schemas/CampaignId" }, - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" + "tactic": { + "$ref": "#/components/schemas/Tactic" }, - "expressionType": { + "deliveryProfile": { "type": "string", "enum": [ - "manual", - "auto" - ], - "description": "Tactic T00020 & T00030 ad groups should use 'manual' targeting." - }, - "expression": { - "$ref": "#/components/schemas/TargetingExpression", - "description": "The targeting expression to match against." + "as_soon_as_possible" + ] }, - "resolvedExpression": { - "$ref": "#/components/schemas/TargetingExpression", - "description": "The resolved targeting expression." + "ruleBasedBudget": { + "$ref": "#/components/schemas/RuleBasedBudget" } } } ] }, - "UpdateTargetingClause": { - "required": [ - "targetId" - ], + "CreateCampaign": { "allOf": [ { - "$ref": "#/components/schemas/BaseTargetingClause" + "$ref": "#/components/schemas/BaseCampaign" }, { "type": "object", "properties": { - "targetId": { - "$ref": "#/components/schemas/TargetId" + "tactic": { + "$ref": "#/components/schemas/Tactic" } } } ] }, - "CreateTargetingClause": { + "UpdateCampaign": { "required": [ - "adGroupId", - "expressionType", - "expression" + "campaignId" ], "allOf": [ { - "$ref": "#/components/schemas/BaseTargetingClause" + "$ref": "#/components/schemas/BaseCampaign" }, { "type": "object", "properties": { - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" - }, - "expressionType": { - "type": "string", - "enum": [ - "manual", - "auto" - ], - "description": "Tactic T00020 ad groups only allow manual targeting." - }, - "expression": { - "$ref": "#/components/schemas/CreateTargetingExpression", - "description": "The targeting expression to match against." + "campaignId": { + "$ref": "#/components/schemas/CampaignId" } } } - ], - "example": { - "expression": [ - { - "type": "views", - "value": [ - { - "type": "similarProduct" - }, - { - "type": "lookback", - "value": "30" - } - ] - } - ], - "bid": "1.25", - "adGroupId": 209426065351234, - "expressionType": "manual", - "state": "enabled" - } + ] }, - "TargetResponse": { + "CampaignId": { + "type": "integer", + "format": "int64", + "description": "The identifier of the campaign." + }, + "CampaignResponse": { "type": "object", "properties": { "code": { @@ -7950,45 +8099,62 @@ "type": "string", "description": "A human-readable description of the response." }, - "targetId": { - "$ref": "#/components/schemas/TargetId" + "campaignId": { + "$ref": "#/components/schemas/CampaignId" } } }, - "TargetingClauseEx": { + "CampaignResponseEx": { "type": "object", "properties": { - "targetId": { - "type": "number" + "campaignId": { + "type": "number", + "description": "The identifier of the campaign." }, - "adGroupId": { - "type": "number" + "name": { + "type": "string", + "description": "The name of the campaign." }, - "state": { + "tactic": { + "$ref": "#/components/schemas/Tactic" + }, + "budgetType": { "type": "string", + "description": "The time period over which the amount specified in the `budget` property is allocated.", "enum": [ - "enabled", - "paused", - "archived" + "daily" ] }, - "expressionType": { + "budget": { + "type": "number", + "description": "The amount of the budget.", + "format": "double" + }, + "startDate": { + "type": "string", + "description": "The YYYYMMDD start date of the campaign. The date must be today or in the future." + }, + "endDate": { + "type": "string", + "description": "The YYYYMMDD end date of the campaign." + }, + "state": { "type": "string", + "description": "The state of the campaign.", "enum": [ - "auto", - "manual" + "enabled", + "paused", + "archived" ] }, - "bid": { - "type": "number", - "description": "If a value for `bid` is specified, it overrides the current adGroup bid. When using vcpm costType. $1 is the minimum bid for vCPM. Note that this field is ignored for negative targeting clauses." - }, - "expression": { - "$ref": "#/components/schemas/TargetingExpression" + "portfolioId": { + "type": "integer", + "description": "Identifier of the portfolio that will be associated with the campaign. If null then the campaign will be disassociated from existing portfolio. Campaigns with CPC and vCPM costType are supported.", + "format": "int64" }, "servingStatus": { "type": "string", - "description": "The status of the target.", + "description": "The status of the campaign.", "enum": [ "ADVERTISER_STATUS_ENABLED", "STATUS_UNAVAILABLE", @@ -7999,33 +8165,59 @@ "CAMPAIGN_ARCHIVED", "PENDING_START_DATE", "ENDED", - "CAMPAIGN_OUT_OF_BUDGET", - "AD_GROUP_STATUS_ENABLED", - "AD_GROUP_PAUSED", - "AD_GROUP_ARCHIVED", - "AD_GROUP_INCOMPLETE", - "AD_GROUP_LOW_BID", - "TARGET_STATUS_LIVE", - "TARGET_STATUS_PAUSED", - "TARGET_STATUS_ARCHIVED" + "CAMPAIGN_OUT_OF_BUDGET" + ] + }, + "costType": { + "type": "string", + "description": "Determines how the campaign will bid and charge.\n|Name|Description|\n|----|----------|-----------|\n|cpc |[Default] The performance of this campaign is measured by the clicks triggered by the ad.|\n|vcpm|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.|", + "enum": [ + "cpc", + "vcpm" ] }, "creationDate": { "type": "integer", - "description": "Epoch date the target was created.", + "description": "Epoch date the campaign was created.", "format": "int64" }, "lastUpdatedDate": { "type": "integer", - "description": "Epoch date of the last update to any property associated with the target.", + "description": "Epoch date of the last update to any property associated with the campaign.", "format": "int64" + }, + "ruleBasedBudget": { + "$ref": "#/components/schemas/RuleBasedBudget" } } }, - "BaseNegativeTargetingClause": { + "BaseAdGroup": { + "type": "object", "properties": { + "name": { + "type": "string", + "description": "The name of the ad group." + }, + "campaignId": { + "$ref": "#/components/schemas/CampaignId" + }, + "defaultBid": { + "type": "number", + "description": "The amount of the default bid associated with the ad group. Used if no bid is specified.", + "format": "double" + }, + "bidOptimization": { + "type": "string", + "description": "Bid Optimization for the Adgroup. Default behavior is to optimize for clicks.\n|Name|CostType|Description|\n|----|--------|-----------|\n|reach |vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.|\n|clicks |cpc|[Default] Optimize for page visits.|\n|conversions |cpc|Optimize for conversion.|", + "enum": [ + "clicks", + "conversions", + "reach" + ] + }, "state": { "type": "string", + "description": "The state of the ad group.", "enum": [ "enabled", "paused", @@ -8034,169 +8226,125 @@ } } }, - "NegativeTargetingClause": { + "AdGroupId": { + "type": "integer", + "format": "int64", + "description": "The identifier of the ad group." + }, + "AdGroup": { "allOf": [ { - "$ref": "#/components/schemas/BaseNegativeTargetingClause" + "$ref": "#/components/schemas/BaseAdGroup" }, { "type": "object", "properties": { - "targetId": { - "$ref": "#/components/schemas/TargetId" - }, "adGroupId": { "$ref": "#/components/schemas/AdGroupId" }, - "expressionType": { - "type": "string", - "enum": [ - "manual", - "auto" - ] - }, - "expression": { - "type": "array", - "description": "The expression to negatively match against.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression, you must create a negative targeting expression in the same ad group as the positive targeting expression.", - "items": { - "$ref": "#/components/schemas/NegativeTargetingExpression" - } + "tactic": { + "$ref": "#/components/schemas/Tactic" }, - "resolvedExpression": { - "type": "array", - "description": "The resolved negative targeting expression.", - "items": { - "$ref": "#/components/schemas/NegativeTargetingExpression" - } + "creativeType": { + "$ref": "#/components/schemas/CreativeType" } } } ] }, - "CreateNegativeTargetingClause": { + "CreateAdGroup": { "required": [ - "adGroupId", - "expressionType", - "expression", + "campaignId", + "name", "state" ], "allOf": [ { - "$ref": "#/components/schemas/BaseNegativeTargetingClause" + "$ref": "#/components/schemas/BaseAdGroup" }, { "type": "object", "properties": { - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" - }, - "expression": { - "type": "array", - "description": "The expression to negatively match against.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression, you must create a negative targeting expression in the same ad group as the positive targeting expression.", - "items": { - "$ref": "#/components/schemas/NegativeTargetingExpression" - } - }, - "expressionType": { - "type": "string", - "enum": [ - "manual", - "auto" - ] + "creativeType": { + "$ref": "#/components/schemas/CreativeType" } } } ] }, - "UpdateNegativeTargetingClause": { + "UpdateAdGroup": { "required": [ - "targetId" + "adGroupId" ], "allOf": [ { - "$ref": "#/components/schemas/BaseNegativeTargetingClause" + "$ref": "#/components/schemas/BaseAdGroup" }, { "type": "object", "properties": { - "targetId": { - "$ref": "#/components/schemas/TargetId" + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" } } } ] }, - "TargetId": { - "type": "integer", - "format": "int64" - }, - "NegativeTargetingExpression": { + "AdGroupResponse": { "type": "object", "properties": { - "type": { + "code": { "type": "string", - "description": "The intent type. See the [targeting topic](https://advertising.amazon.com/help#GQCBASRVERXSARL3) in the Amazon Ads support center for more information.", - "enum": [ - "asinSameAs", - "asinBrandSameAs" - ] + "description": "The HTTP status code of the response." }, - "value": { + "description": { "type": "string", - "description": "The value to be negatively targeted. Used only in manual expressions.", - "example": "B0123456789" + "description": "A human-readable description of the response." + }, + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" } } }, - "NegativeTargetingClauseEx": { + "AdGroupResponseEx": { "type": "object", + "description": "Object containing an extended set of data fields for an Ad Group.", "properties": { - "targetId": { - "type": "number" - }, "adGroupId": { - "type": "number" + "type": "number", + "description": "The identifier of the ad group." + }, + "name": { + "type": "string", + "description": "The name of the ad group." + }, + "campaignId": { + "type": "number", + "description": "The identifier of the campaign that this ad group is associated with." + }, + "defaultBid": { + "type": "number", + "description": "The amount of the default bid associated with the ad group. Used if no bid is specified.", + "format": "double" }, "state": { "type": "string", + "description": "The delivery state of the ad group.", "enum": [ "enabled", "paused", "archived" ] }, - "expressionType": { - "type": "string", - "enum": [ - "manual", - "auto" - ] + "tactic": { + "$ref": "#/components/schemas/Tactic" }, - "expression": { - "type": "array", - "description": "The expression to negatively match against.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression, you must create a negative targeting expression in the same ad group as the positive targeting expression.", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The intent type. See the [targeting topic](https://advertising.amazon.com/help#GQCBASRVERXSARL3) in the Amazon Ads support center for more information.", - "enum": [ - "asinSameAs", - "asinBrandSameAs" - ] - }, - "value": { - "type": "string", - "description": "The value to be negatively targeted. Used only in manual expressions.", - "example": "B0123456789" - } - } - } + "creativeType": { + "$ref": "#/components/schemas/CreativeTypeInCreativeResponse" }, "servingStatus": { "type": "string", - "description": "The status of the target.", + "description": "The status of the ad group.", "enum": [ "ADVERTISER_STATUS_ENABLED", "STATUS_UNAVAILABLE", @@ -8213,2313 +8361,4007 @@ "AD_GROUP_ARCHIVED", "AD_GROUP_INCOMPLETE", "AD_GROUP_LOW_BID", - "TARGET_STATUS_LIVE", - "TARGET_STATUS_PAUSED", - "TARGET_STATUS_ARCHIVED" + "ADGROUP_POLICING_PENDING_REVIEW", + "ADGROUP_POLICING_CREATIVE_REJECTED" + ] + }, + "bidOptimization": { + "type": "string", + "description": "Bid optimization type for the Adgroup. Default behavior is to optimize for clicks. Note, reach and clicks are only accepted with productAds that include landingPageURL OFF_AMAZON_LINK.\n|Name|CostType|Description|\n|----|--------|-----------|\n|reach|vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.|\n|clicks [Default]|cpc|Optimize for page visits.|\n|conversions|cpc|Optimize for conversion.|\n|leads |cpc| [PREVIEW ONLY] Optimize for lead generation.|", + "enum": [ + "clicks", + "conversions", + "reach" ] }, "creationDate": { "type": "integer", - "description": "Epoch date the target was created.", + "description": "Epoch time the ad group was created.", "format": "int64" }, "lastUpdatedDate": { + "description": "Epoch time any property in the ad group was last updated.", "type": "integer", - "description": "Epoch date of the last update to any property associated with the target.", "format": "int64" } } }, - "ASIN": { - "type": "string", - "description": "Amazon Standard Identification Number", - "example": "B00PN11UNW", - "pattern": "[a-zA-Z0-9]{10}" + "BaseProductAd": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The state of the campaign associated with the product ad.", + "enum": [ + "enabled", + "paused", + "archived" + ] + } + } }, - "GoalProduct": { - "description": "A product an advertisers wants to advertise. Recommendations will be made for specified goal products.", + "ProductAd": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseProductAd" + }, + { + "type": "object", + "properties": { + "adId": { + "$ref": "#/components/schemas/AdId" + }, + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "campaignId": { + "$ref": "#/components/schemas/CampaignId" + }, + "landingPageURL": { + "$ref": "#/components/schemas/LandingPageURL" + }, + "landingPageType": { + "$ref": "#/components/schemas/LandingPageType" + }, + "adName": { + "$ref": "#/components/schemas/AdName" + }, + "asin": { + "type": "string", + "description": "The Amazon ASIN of the product advertised by the product ad." + }, + "sku": { + "type": "string", + "description": "The Amazon SKU of the product advertised by the product ad." + } + } + } + ] + }, + "CreateProductAd": { "required": [ - "asin" + "campaignId", + "adGroupId", + "state", + "asin", + "sku" ], - "properties": { - "asin": { - "$ref": "#/components/schemas/ASIN" + "allOf": [ + { + "$ref": "#/components/schemas/BaseProductAd" + }, + { + "type": "object", + "properties": { + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "campaignId": { + "$ref": "#/components/schemas/CampaignId" + }, + "landingPageURL": { + "$ref": "#/components/schemas/LandingPageURL" + }, + "landingPageType": { + "$ref": "#/components/schemas/LandingPageType" + }, + "adName": { + "$ref": "#/components/schemas/AdName" + }, + "asin": { + "type": "string", + "description": "The ASIN of the product advertised by the product ad." + }, + "sku": { + "type": "string", + "description": "The SKU of the product advertised by the product ad." + } + } } - } + ] }, - "TargetingRecommendationsResponse": { - "description": "Response to a request for targeting recommendations", - "properties": { - "recommendations": { - "$ref": "#/components/schemas/TargetingRecommendations" + "UpdateProductAd": { + "required": [ + "adId" + ], + "allOf": [ + { + "$ref": "#/components/schemas/BaseProductAd" + }, + { + "type": "object", + "properties": { + "adId": { + "$ref": "#/components/schemas/AdId" + } + } } - } + ] }, - "RecommendationType": { + "AdId": { + "type": "integer", + "format": "int64", + "description": "The identifier of the product ad." + }, + "LandingPageURL": { "type": "string", - "description": "Signifies a type of recommendation", - "example": "PRODUCT", + "description": "The URL where customers will land after clicking on its link. Must be provided if a LandingPageType is set. Please note that if a single product ad sets the landing page url, only one product ad can be added to the ad group. This field is not supported when using ASIN or SKU fields.\n||Specifications|\n|------------------|------------------|\n|LandingPageType| Description|\n|STORE| Not yet supported. The url should be in the format of https://www.amazon.com/stores/* (using a correct Amazon url based on the marketplace)|\n|MOMENT| Not yet supported. The url should be in the format of https://www.amazon.com/moments/promotion/{campaignId} (using a correct Amazon url based on the marketplace)|\n|OFF_AMAZON_LINK| The url should be in the format of https://www.****.com. Note that this LandingPageType is not supported when using ASIN or SKU fields. A custom creative of headline, logo, image are require for this LandingPageType. |" + }, + "LandingPageType": { + "type": "string", + "description": "The type of the landingPage used. This field is completely optional and will be set in conjunction with the LandingPageURL to indicate the type of landing page that will be set. This field is not supported when using ASIN or SKU fields.", "enum": [ - "PRODUCT" + "STORE", + "MOMENT", + "OFF_AMAZON_LINK" ] }, - "TargetingRecommendations": { - "description": "A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning.", - "properties": { - "products": { - "type": "array", - "description": "List of recommended product targets", - "minItems": 0, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/ProductRecommendation" - } - } - } + "AdName": { + "type": "string", + "description": "The name of the ad. Note that this field is not supported when using ASIN or SKU fields." }, - "ProductRecommendation": { - "description": "A recommended product to target ads on", + "ProductAdResponse": { + "type": "object", "properties": { - "asin": { - "$ref": "#/components/schemas/ASIN" + "code": { + "type": "string", + "description": "The HTTP status code of the response." }, - "rank": { - "type": "integer", - "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", - "minimum": 1 + "description": { + "type": "string", + "description": "A human-readable description of the response." + }, + "adId": { + "type": "number", + "description": "The identifier of the ad." } } }, - "TargetingRecommendationsRequest": { - "description": "Request for targeting recommendations", - "required": [ - "tactic", - "products", - "typeFilter" - ], + "ProductAdResponseEx": { + "type": "object", "properties": { - "tactic": { - "$ref": "#/components/schemas/Tactic" - }, - "products": { - "type": "array", - "minItems": 1, - "maxItems": 100, - "description": "A list of products for which to get targeting recommendations", - "items": { - "$ref": "#/components/schemas/GoalProduct" - } + "adId": { + "type": "number", + "description": "The identifier of the ad." }, - "typeFilter": { - "type": "array", - "description": "A filter to indicate which types of recommendations to request. T00030 only allow \"CATEGORY\".", - "minItems": 1, - "maxItems": 1, - "items": { - "$ref": "#/components/schemas/RecommendationType" - } - } - } - }, - "ReportRequest": { - "type": "object", - "properties": { - "reportDate": { - "type": "string", - "description": "Date in YYYYMMDD format. The report contains only metrics generated on the specified date. Note that the time zone used for date calculation is the one associated with the profile used to make the request.", - "example": "20190401" + "adGroupId": { + "type": "number", + "description": "The identifier of the ad group associated with the ad." }, - "tactic": { - "$ref": "#/components/schemas/TacticReport" + "campaignId": { + "type": "number", + "description": "The identifier of the campaign associated with the ad." }, - "segment": { - "$ref": "#/components/schemas/Segment" + "landingPageURL": { + "$ref": "#/components/schemas/LandingPageURL" }, - "metrics": { + "landingPageType": { + "$ref": "#/components/schemas/LandingPageType" + }, + "adName": { + "$ref": "#/components/schemas/AdName" + }, + "asin": { "type": "string", - "description": "A comma-separated list of the metrics to be included in the report.\n\nEach report type supports different metrics. **To understand supported metrics for each report type, see [Report types](/API/docs/en-us/reporting/v2/report-types).**\n\n**Note**: Campaigns with vCPM costType should use view+click based metrics (viewAttributedConversions14d, viewAttributedDetailPageView14d, viewAttributedSales14d, viewAttributedUnitsOrdered14d, viewImpressions).\n\n**Note**: Detail page view metrics (attributedDetailPageView14d, viewAttributedDetailPageView14d) have an SLA of 3 days.\n\n**Tip**: Use new-to-brand (NTB) metrics to calculate how efficient your campaigns are at driving new shoppers:\n\n 1. Percentage of NTB orders = attributedOrdersNewToBrand14d / attributedConversions14d\n 2. Percentage NTB sales = attributedSalesNewToBrand14d / attributedSales14d\n 3. Percentage NTB units = attributedUnitsOrderedNewToBrand14d / attributedUnitsOrdered14d\n 4. NTB order rate = attributedOrdersNewToBrand14 / impressions", - "example": "campaignName,campaignId,impressions,clicks,cost,attributedSales14d" - } - } - }, - "ReportResponse": { - "type": "object", - "properties": { - "reportId": { + "description": "The ASIN of the product being advertised." + }, + "sku": { "type": "string", - "description": "The identifier of the report." + "description": "The SKU of the product being advertised." }, - "recordType": { + "state": { "type": "string", - "description": "The type of report requested.", + "description": "The state of the product ad.", "enum": [ - "CAMPAIGN", - "AD_GROUP", - "PRODUCT_AD" + "enabled", + "paused", + "archived" ] }, - "status": { + "servingStatus": { "type": "string", - "description": "The build status of the report.", + "description": "The status of the product ad.", "enum": [ - "IN_PROGRESS", - "SUCCESS", - "FAILURE" + "ADVERTISER_STATUS_ENABLED", + "STATUS_UNAVAILABLE", + "ADVERTISER_PAUSED", + "ACCOUNT_OUT_OF_BUDGET", + "ADVERTISER_PAYMENT_FAILURE", + "CAMPAIGN_PAUSED", + "CAMPAIGN_ARCHIVED", + "PENDING_START_DATE", + "ENDED", + "CAMPAIGN_OUT_OF_BUDGET", + "AD_GROUP_STATUS_ENABLED", + "AD_GROUP_PAUSED", + "AD_GROUP_ARCHIVED", + "AD_GROUP_INCOMPLETE", + "AD_GROUP_LOW_BID", + "AD_STATUS_LIVE", + "AD_STATUS_PAUSED", + "AD_STATUS_ARCHIVED", + "MISSING_IMAGE", + "MISSING_DECORATION", + "NOT_BUYABLE", + "NOT_IN_BUYBOX", + "OUT_OF_STOCK", + "NOT_IN_POLICY" ] }, - "statusDetails": { - "description": "A human-readable description of the current status.", - "type": "string" - }, - "location": { - "type": "string", - "description": "The URI location of the report." - }, - "fileSize": { + "creationDate": { "type": "integer", - "description": "The size of the report file, in bytes.", + "description": "Epoch date the product ad was created.", "format": "int64" }, - "expiration": { + "lastUpdatedDate": { "type": "integer", - "description": "Epoch date of the expiration of the URI in the `location` property.", + "description": "Epoch date of the last update to any property associated with the product ad.", "format": "int64" } } }, - "PatchRequest": { - "required": [ - "id", - "request" - ], - "description": "JSONPatch request request object.", + "TargetingPredicate": { "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.", "properties": { - "id": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "asinSameAs", + "asinCategorySameAs", + "asinBrandSameAs", + "asinPriceBetween", + "asinPriceGreaterThan", + "asinPriceLessThan", + "asinReviewRatingLessThan", + "asinReviewRatingGreaterThan", + "asinReviewRatingBetween", + "asinIsPrimeShippingEligible", + "asinAgeRangeSameAs", + "asinGenreSameAs", + "similarProduct" + ] }, - "request": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchDocument" - } + "value": { + "type": "string", + "description": "The value to be targeted.", + "example": "B0123456789" } } }, - "PatchDocument": { - "required": [ - "op", - "path" - ], - "description": "JSONPatch request document.", + "TargetingPredicateLegacy": { "type": "object", "properties": { - "op": { - "description": "The JSONPatch operation type.", + "type": { "type": "string", "enum": [ - "add", - "remove", - "replace" - ], - "example": "replace" + "asinSameAs", + "asinCategorySameAs", + "asinBrandSameAs", + "asinPriceBetween", + "asinPriceGreaterThan", + "asinPriceLessThan", + "asinReviewRatingLessThan", + "asinReviewRatingGreaterThan", + "asinReviewRatingBetween", + "similarProduct", + "exactProduct", + "asinIsPrimeShippingEligible", + "asinAgeRangeSameAs", + "asinGenreSameAs" + ] }, - "path": { + "value": { "type": "string", - "description": "A path constructed from the JSON object to be updated.", - "example": "/state" + "description": "The value to be targeted.", + "example": "B0123456789" }, - "value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "integer" - }, - { - "type": "boolean" - }, - { - "type": "array", - "items": {} - }, - { - "type": "object" - } - ], - "example": "paused", - "description": "The value used by the operation specified in the `op` field." + "eventType": { + "type": "string", + "description": "The type of event that the value applies to. Only available for similarProduct and exactProduct currently.\n* views event type corresponds to a customer who viewed the detail page of the product(s).", + "enum": [ + "views" + ] } } }, - "CreativeProperties": { - "description": "Select customizations on your creative from any combination of headline, logo, and custom image.", - "anyOf": [ - { - "$ref": "#/components/schemas/HeadlineCreativeProperties" - }, - { - "$ref": "#/components/schemas/LogoCreativeProperties" - }, - { - "$ref": "#/components/schemas/CustomImageCreativeProperties" - }, - { - "$ref": "#/components/schemas/VideoCreativeProperties" - } - ] - }, - "HeadlineCreativeProperties": { + "TargetingPredicateNested": { "type": "object", - "description": "User-customizable properties of a creative with headline.", + "description": "A behavioral event and list of targeting predicates that represents an audience to target (only applicable to audience targeting - T00030).\n\n* For manual ASIN-grain targeting, the value array must contain only, 'exactProduct', 'similarProduct', 'relatedProduct' and 'lookback' TargetingPredicateBase components. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For manual Category-grain targeting, the value array must contain a 'lookback' and 'asinCategorySameAs' TargetingPredicateBase component, which can be further refined with optional brand, price, star-rating and shipping eligibility refinements. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For Amazon Audiences targeting, the TargetingPredicateNested type should be set to 'audience' and the value array should include one TargetingPredicateBase component with type set to 'audienceSameAs'.", "properties": { - "headline": { + "type": { "type": "string", - "maxLength": 50, - "description": "A marketing phrase to display on the ad. This field is optional and mutable. Maximum number of characters allowed is 50." + "enum": [ + "views", + "audience", + "purchases" + ] + }, + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TargetingPredicateBase" + } } } }, - "LogoCreativeProperties": { + "TargetingPredicateBase": { "type": "object", - "description": "User-customizable properties of a creative with a logo.", + "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* A 'relatedProduct' TargetingPredicateBase will Target an audience that has purchased a related product in the past 7,14,30,60,90,180, or 365 days.", "properties": { - "brandLogo": { - "$ref": "#/components/schemas/Image" - } - } - }, - "CustomImageCreativeProperties": { - "type": "object", - "description": "User-customizable properties of a custom image creative.", - "properties": { - "rectCustomImage": { - "$ref": "#/components/schemas/Image" + "type": { + "type": "string", + "enum": [ + "asinCategorySameAs", + "asinBrandSameAs", + "asinPriceBetween", + "asinPriceGreaterThan", + "asinPriceLessThan", + "asinReviewRatingLessThan", + "asinReviewRatingGreaterThan", + "asinReviewRatingBetween", + "similarProduct", + "exactProduct", + "asinIsPrimeShippingEligible", + "asinAgeRangeSameAs", + "asinGenreSameAs", + "audienceSameAs", + "lookback", + "negative", + "relatedProduct" + ] }, - "squareCustomImage": { - "$ref": "#/components/schemas/Image" + "value": { + "type": "string", + "description": "The value to be targeted.", + "example": "B0123456789" } } }, - "VideoCreativeProperties": { + "TargetingExpression": { + "type": "array", + "description": "The targeting expression to match against.\n\n------- Applicable to contextual targeting (T00020) -------\n* A 'TargetingExpression' in a contextual targeting campaign can only contain 'TargetingPredicate' components.\n* Expressions must specify either a category predicate or an ASIN predicate, but never both.\n* Only one category may be specified per targeting expression.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression.\n\n------- Applicable to audience targeting (T00030) -------\n* A 'TargetingExpression' in an audience campaign can only contain 'TargetingPredicateNested' components.\n* Expressions must specify ASIN-grain ('exactProduct'), manual ASIN-grain ('relatedProducts' or 'relatedProducts'), or category-grain targeting.", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/TargetingPredicate" + }, + { + "$ref": "#/components/schemas/TargetingPredicateLegacy" + }, + { + "$ref": "#/components/schemas/TargetingPredicateNested" + } + ] + } + }, + "CreateTargetingExpression": { + "type": "array", + "description": "The targeting expression to match against.\n\n------- Applicable to contextual targeting (T00020) -------\n* A 'TargetingExpression' in a contextual targeting campaign can only contain 'TargetingPredicate' components.\n* Expressions must specify either a category predicate or an ASIN predicate, but never both.\n* Only one category may be specified per targeting expression.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression.\n\n------- Applicable to audience targeting (T00030) -------\n* A 'TargetingExpression' in an audience campaign can only contain 'TargetingPredicateNested' components.\n* Expressions must specify either auto ASIN-grain (exact products), manual ASIN-grain (similar products), or manual category-grain targeting.", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/TargetingPredicate" + }, + { + "$ref": "#/components/schemas/TargetingPredicateNested" + } + ] + } + }, + "BaseTargetingClause": { "type": "object", - "description": "User-customizable properties of a video creative.", "properties": { - "video": { - "$ref": "#/components/schemas/Video" + "state": { + "type": "string", + "enum": [ + "enabled", + "paused", + "archived" + ] + }, + "bid": { + "type": "number", + "description": "The bid will override the adGroup bid if specified. This field is not used for negative targeting clauses. The bid must be less than the maximum allowable bid for the campaign's marketplace; for a list of maximum allowable bids, find the [\"Bid constraints by marketplace\" table in our documentation overview](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace). You cannot manually set a bid when the targeting clause's adGroup has an enabled optimization rule.", + "format": "float", + "nullable": true, + "minimum": 0.02 } } }, - "Image": { - "type": "object", - "description": "This field denotes image which is displayed on the ad. This can either be a brand logo or a custom image. This field is optional and mutable. For custom image, both rectCustomImage and squareCustomImage should use the same asset id and asset version. Specific restrictions based on the Image type are listed in the following table.\n|Image type|Maximum file size|Minimum width|Minimum height|Accepted file formats|\n|------|-----------|-----------|-----------|-----------|\n|Custom Image|5MB|1200|628|JPEG, JPG, PNG, GIF|\n|Brand Logo|1MB|600|100|JPEG, JPG, PNG|\nNote: For square custom images the cropped image should be 628x628 at minimum.", + "TargetingClause": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseTargetingClause" + }, + { + "type": "object", + "properties": { + "targetId": { + "$ref": "#/components/schemas/TargetId" + }, + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "expressionType": { + "type": "string", + "enum": [ + "manual", + "auto" + ], + "description": "Tactic T00020 & T00030 ad groups should use 'manual' targeting." + }, + "expression": { + "$ref": "#/components/schemas/TargetingExpression", + "description": "The targeting expression to match against." + }, + "resolvedExpression": { + "$ref": "#/components/schemas/TargetingExpression", + "description": "The resolved targeting expression." + } + } + } + ] + }, + "UpdateTargetingClause": { "required": [ - "assetId", - "assetVersion" + "targetId" ], - "properties": { - "assetId": { - "type": "string", - "description": "The unique identifier of the image asset. This assetId comes from the Creative Asset Library." + "allOf": [ + { + "$ref": "#/components/schemas/BaseTargetingClause" }, - "assetVersion": { - "type": "string", - "description": "The identifier of the particular image assetversion." + { + "type": "object", + "properties": { + "targetId": { + "$ref": "#/components/schemas/TargetId" + } + } + } + ] + }, + "CreateTargetingClause": { + "required": [ + "adGroupId", + "expressionType", + "expression" + ], + "allOf": [ + { + "$ref": "#/components/schemas/BaseTargetingClause" }, - "croppingCoordinates": { + { "type": "object", - "description": "Optional cropping coordinates to apply to the image.", - "required": [ - "top", - "left", - "width", - "height" - ], "properties": { - "top": { - "type": "integer", - "minimum": 0, - "description": "Pixel distance from the top edge of the cropping zone to the top edge of the original image." - }, - "left": { - "type": "integer", - "minimum": 0, - "description": "Pixel distance from the left edge of the cropping zone to the left edge of the original image." + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" }, - "width": { - "type": "integer", - "minimum": 0, - "description": "Pixel width of the cropping zone." + "expressionType": { + "type": "string", + "enum": [ + "manual", + "auto" + ], + "description": "Tactic T00020 ad groups only allow manual targeting." }, - "height": { - "type": "integer", - "minimum": 0, - "description": "Pixel height of the cropping zone." + "expression": { + "$ref": "#/components/schemas/CreateTargetingExpression", + "description": "The targeting expression to match against." } } } + ], + "example": { + "expression": [ + { + "type": "views", + "value": [ + { + "type": "similarProduct" + }, + { + "type": "lookback", + "value": "30" + } + ] + } + ], + "bid": "1.25", + "adGroupId": 209426065351234, + "expressionType": "manual", + "state": "enabled" } }, - "Video": { + "TargetResponse": { "type": "object", - "description": "This field denotes video which is displayed on the ad. This field is optional and mutable. A video asset must be provided for a VIDEO creative. Specific restrictions based on the video are listed in the following table.\n||Specifications|\n|------------------|------------------|\n|Maximum file size|500MB|\n|Aspect ratio|16:9|\n|Minimum duration|6s|\n|Maximum duration|45s|\n|Minimum frame size|1920x1080|\n|Minimum video bitrate|4mbps|\n|Video frame rate(fps)|23.976(recommended), 24, 25, or 29.97|\n|Video frame rate mode|Constant|\n|Minimum audio bitrate|192kbps|\n|Audio sample rate|44.1kHz or 48kHz|\n|Supported Formats|Video: H.264, MPEG-2, or MPEG-4; Audio: PCM or AAC|\n|Audio Channel|Audio format needs to be stereo or mono.|\n|Recommended video bitrate|8mbps|\n|Recommended duration|A duration of exactly 6s, 15s, 20s, or 30s is recommended. Use of videos outside of these durations may negatively impact your campaign performance. Shorter lengths will drive higher VCR (although scale on 6s may be limited).|", - "required": [ - "assetId", - "assetVersion" - ], "properties": { - "assetId": { + "code": { "type": "string", - "description": "The unique identifier of the video asset. This assetId comes from the Creative Asset Library." + "description": "The HTTP status code of the response." }, - "assetVersion": { + "description": { "type": "string", - "description": "The identifier of the particular video assetversion." + "description": "A human-readable description of the response." + }, + "targetId": { + "$ref": "#/components/schemas/TargetId" } } }, - "CreativeModeration": { + "TargetingClauseEx": { "type": "object", - "description": "System generated Creative moderation.", - "required": [ - "creativeId", - "moderationStatus", - "etaForModeration", - "policyViolations", - "creativeType" - ], "properties": { - "creativeId": { - "type": "number", - "description": "Unique identifier of the creative." + "targetId": { + "type": "number" }, - "creativeType": { - "$ref": "#/components/schemas/CreativeTypeInCreativeResponse" + "adGroupId": { + "type": "number" }, - "moderationStatus": { + "state": { "type": "string", - "description": "The moderation status of the creative.\n|Status|Description|\n|------|-----------|\n|APPROVED|Moderation for the creative is complete.|\n|IN_PROGRESS|Moderation for the creative is in progress. The expected date and time for completion are specfied in the `etaForModeration` field.|\n|REJECTED|The creative has failed moderation. Specific information about the content that violated policy is available in `policyViolations`.|", "enum": [ - "APPROVED", - "PENDING_REVIEW", - "REJECTED" + "enabled", + "paused", + "archived" ] }, - "etaForModeration": { + "expressionType": { "type": "string", - "format": "date-time", - "description": "Expected date and time by which moderation will be complete." + "enum": [ + "auto", + "manual" + ] }, - "policyViolations": { + "bid": { + "type": "number", + "description": "If a value for `bid` is specified, it overrides the current adGroup bid. When using vcpm costType. $1 is the minimum bid for vCPM. Note that this field is ignored for negative targeting clauses." + }, + "expression": { + "$ref": "#/components/schemas/TargetingExpression" + }, + "resolvedExpression": { + "$ref": "#/components/schemas/TargetingExpression" + }, + "servingStatus": { + "type": "string", + "description": "The status of the target.", + "enum": [ + "ADVERTISER_STATUS_ENABLED", + "STATUS_UNAVAILABLE", + "ADVERTISER_PAUSED", + "ACCOUNT_OUT_OF_BUDGET", + "ADVERTISER_PAYMENT_FAILURE", + "CAMPAIGN_PAUSED", + "CAMPAIGN_ARCHIVED", + "PENDING_START_DATE", + "ENDED", + "CAMPAIGN_OUT_OF_BUDGET", + "AD_GROUP_STATUS_ENABLED", + "AD_GROUP_PAUSED", + "AD_GROUP_ARCHIVED", + "AD_GROUP_INCOMPLETE", + "AD_GROUP_LOW_BID", + "TARGET_STATUS_LIVE", + "TARGET_STATUS_PAUSED", + "TARGET_STATUS_ARCHIVED" + ] + }, + "creationDate": { + "type": "integer", + "description": "Epoch date the target was created.", + "format": "int64" + }, + "lastUpdatedDate": { + "type": "integer", + "description": "Epoch date of the last update to any property associated with the target.", + "format": "int64" + } + } + }, + "BaseNegativeTargetingClause": { + "properties": { + "state": { + "type": "string", + "enum": [ + "enabled", + "paused", + "archived" + ] + } + } + }, + "NegativeTargetingClause": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseNegativeTargetingClause" + }, + { + "type": "object", + "properties": { + "targetId": { + "$ref": "#/components/schemas/TargetId" + }, + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "expressionType": { + "type": "string", + "enum": [ + "manual", + "auto" + ] + }, + "expression": { + "type": "array", + "description": "The expression to negatively match against.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression, you must create a negative targeting expression in the same ad group as the positive targeting expression.", + "items": { + "$ref": "#/components/schemas/NegativeTargetingExpression" + } + }, + "resolvedExpression": { + "type": "array", + "description": "The resolved negative targeting expression.", + "items": { + "$ref": "#/components/schemas/NegativeTargetingExpression" + } + } + } + } + ] + }, + "CreateNegativeTargetingClause": { + "required": [ + "adGroupId", + "expressionType", + "expression", + "state" + ], + "allOf": [ + { + "$ref": "#/components/schemas/BaseNegativeTargetingClause" + }, + { + "type": "object", + "properties": { + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "expression": { + "type": "array", + "description": "The expression to negatively match against.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression, you must create a negative targeting expression in the same ad group as the positive targeting expression.", + "items": { + "$ref": "#/components/schemas/NegativeTargetingExpression" + } + }, + "expressionType": { + "type": "string", + "enum": [ + "manual", + "auto" + ] + } + } + } + ] + }, + "UpdateNegativeTargetingClause": { + "required": [ + "targetId" + ], + "allOf": [ + { + "$ref": "#/components/schemas/BaseNegativeTargetingClause" + }, + { + "type": "object", + "properties": { + "targetId": { + "$ref": "#/components/schemas/TargetId" + } + } + } + ] + }, + "TargetId": { + "type": "integer", + "format": "int64" + }, + "NegativeTargetingExpression": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The intent type. See the [targeting topic](https://advertising.amazon.com/help#GQCBASRVERXSARL3) in the Amazon Ads support center for more information.", + "enum": [ + "asinSameAs", + "asinBrandSameAs" + ] + }, + "value": { + "type": "string", + "description": "The value to be negatively targeted. Used only in manual expressions.", + "example": "B0123456789" + } + } + }, + "NegativeTargetingClauseEx": { + "type": "object", + "properties": { + "targetId": { + "type": "number" + }, + "adGroupId": { + "type": "number" + }, + "state": { + "type": "string", + "enum": [ + "enabled", + "paused", + "archived" + ] + }, + "expressionType": { + "type": "string", + "enum": [ + "manual", + "auto" + ] + }, + "expression": { "type": "array", - "description": "A list of policy violations for a creative that has failed moderation.", + "description": "The expression to negatively match against.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression, you must create a negative targeting expression in the same ad group as the positive targeting expression.", "items": { "type": "object", "properties": { - "policyDescription": { + "type": { "type": "string", - "description": "A human-readable description of the policy." + "description": "The intent type. See the [targeting topic](https://advertising.amazon.com/help#GQCBASRVERXSARL3) in the Amazon Ads support center for more information.", + "enum": [ + "asinSameAs", + "asinBrandSameAs" + ] }, - "policyLinkUrl": { + "value": { "type": "string", - "description": "Address of the policy documentation. Follow the link to learn more about the specified policy." - }, - "violatingHeadlineContents": { - "type": "array", - "description": "Information about the headline text that violates the specified policy.", - "items": { - "type": "object", - "properties": { - "reviewedText": { - "type": "string", - "description": "The specific text reviewed during moderation." - }, - "textEvidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "violatingText": { - "type": "string", - "description": "The specific text determined to violate the specified policy in reviewedText" - }, - "violatingTextPosition": { - "type": "object", - "properties": { - "start": { - "type": "integer", - "description": "Zero-based index into the text in reviewedText where the text specified in violatingText starts" - }, - "end": { - "type": "integer", - "description": "Zero-based index into the text in reviewedText where the text specified in violatingText ends" - } - } - } - } - } - } - } - } - }, - "violatingBrandLogoContents": { - "type": "array", - "description": "Information about the brand logo that violates the specified policy.", - "items": { - "type": "object", - "properties": { - "reviewedImageUrl": { - "type": "string", - "description": "Address of the image reviewed during moderation." - }, - "imageEvidences": { - "type": "array", - "items": { - "type": "object", - "properties": { - "violatingImageCrop": { - "type": "object", - "properties": { - "topLeftX": { - "type": "integer", - "description": "The top left X-coordinate of the content that violates the specfied policy within the image." - }, - "topLeftY": { - "type": "integer", - "description": "The top left Y-coordinate of the content that violates the specfied policy within the image." - }, - "height": { - "type": "integer", - "description": "The height of the content that violates the specfied policy within the image." - }, - "width": { - "type": "integer", - "description": "The width of the content that violates the specfied policy within the image." - } - } - } - } - } - } - } - } - }, - "violatingCustomImageContents": { - "type": "array", - "description": "Information about the custom image that violates the specified policy.", - "items": { - "type": "object", - "properties": { - "reviewedImageUrl": { - "type": "string", - "description": "Address of the image reviewed during moderation." - }, - "imageEvidences": { - "type": "array", - "items": { - "type": "object", - "properties": { - "violatingImageCrop": { - "type": "object", - "properties": { - "topLeftX": { - "type": "integer", - "description": "The top left X-coordinate of the content that violates the specfied policy within the image." - }, - "topLeftY": { - "type": "integer", - "description": "The top left Y-coordinate of the content that violates the specfied policy within the image." - }, - "height": { - "type": "integer", - "description": "The height of the content that violates the specfied policy within the image." - }, - "width": { - "type": "integer", - "description": "The width of the content that violates the specfied policy within the image." - } - } - } - } - } - } - } - } - }, - "violatingVideoContents": { - "type": "array", - "description": "Information about the video that violates the specified policy.", - "items": { - "type": "object", - "properties": { - "reviewedVideoUrl": { - "type": "string", - "description": "Address of the video reviewed during moderation." - }, - "videoEvidences": { - "type": "array", - "items": { - "type": "object", - "properties": { - "violatingVideoPosition": { - "type": "object", - "properties": { - "start": { - "type": "integer", - "description": "Time at which policy violation within video asset starts." - }, - "end": { - "type": "integer", - "description": "Time at which policy violation within the video asset ends." - } - } - } - } - } - } - } - } + "description": "The value to be negatively targeted. Used only in manual expressions.", + "example": "B0123456789" } } } + }, + "servingStatus": { + "type": "string", + "description": "The status of the target.", + "enum": [ + "ADVERTISER_STATUS_ENABLED", + "STATUS_UNAVAILABLE", + "ADVERTISER_PAUSED", + "ACCOUNT_OUT_OF_BUDGET", + "ADVERTISER_PAYMENT_FAILURE", + "CAMPAIGN_PAUSED", + "CAMPAIGN_ARCHIVED", + "PENDING_START_DATE", + "ENDED", + "CAMPAIGN_OUT_OF_BUDGET", + "AD_GROUP_STATUS_ENABLED", + "AD_GROUP_PAUSED", + "AD_GROUP_ARCHIVED", + "AD_GROUP_INCOMPLETE", + "AD_GROUP_LOW_BID", + "TARGET_STATUS_LIVE", + "TARGET_STATUS_PAUSED", + "TARGET_STATUS_ARCHIVED" + ] + }, + "creationDate": { + "type": "integer", + "description": "Epoch date the target was created.", + "format": "int64" + }, + "lastUpdatedDate": { + "type": "integer", + "description": "Epoch date of the last update to any property associated with the target.", + "format": "int64" + } + } + }, + "ASIN": { + "type": "string", + "description": "Amazon Standard Identification Number", + "example": "B00PN11UNW", + "pattern": "[a-zA-Z0-9]{10}" + }, + "GoalProduct": { + "description": "A product an advertisers wants to advertise. Recommendations will be made for specified goal products.", + "required": [ + "asin" + ], + "properties": { + "asin": { + "$ref": "#/components/schemas/ASIN" + } + } + }, + "TargetingRecommendationsResponse": { + "description": "Response to a request for targeting recommendations.", + "properties": { + "recommendations": { + "$ref": "#/components/schemas/TargetingRecommendations" + } + } + }, + "RecommendationType": { + "type": "string", + "description": "Signifies a type of recommendation", + "example": "PRODUCT", + "enum": [ + "PRODUCT" + ] + }, + "TargetingRecommendations": { + "description": "A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning.", + "properties": { + "products": { + "type": "array", + "description": "List of recommended product targets", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/ProductRecommendation" + } + } + } + }, + "ProductRecommendation": { + "description": "A recommended product to target ads on", + "properties": { + "asin": { + "$ref": "#/components/schemas/ASIN" + }, + "rank": { + "type": "integer", + "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", + "minimum": 1 + } + } + }, + "TargetingRecommendationsRequest": { + "description": "Request for targeting recommendations", + "required": [ + "tactic", + "products", + "typeFilter" + ], + "properties": { + "tactic": { + "$ref": "#/components/schemas/Tactic" + }, + "products": { + "type": "array", + "minItems": 1, + "maxItems": 100, + "description": "A list of products for which to get targeting recommendations", + "items": { + "$ref": "#/components/schemas/GoalProduct" + } + }, + "typeFilter": { + "type": "array", + "description": "A filter to indicate which types of recommendations to request. T00030 only allow \"CATEGORY\".", + "minItems": 1, + "maxItems": 1, + "items": { + "$ref": "#/components/schemas/RecommendationType" + } + } + } + }, + "ReportRequest": { + "type": "object", + "properties": { + "reportDate": { + "type": "string", + "description": "Date in YYYYMMDD format. The report contains only metrics generated on the specified date. Note that the time zone used for date calculation is the one associated with the profile used to make the request.", + "example": "20190401" + }, + "tactic": { + "$ref": "#/components/schemas/TacticReport" + }, + "segment": { + "$ref": "#/components/schemas/Segment" + }, + "metrics": { + "type": "string", + "description": "A comma-separated list of the metrics to be included in the report.\n\nEach report type supports different metrics. **To understand supported metrics for each report type, see [Report types](/API/docs/en-us/guides/reporting/v2/report-types).**\n\n**Note**: Campaigns with vCPM costType should use view+click based metrics (viewAttributedConversions14d, viewAttributedDetailPageView14d, viewAttributedSales14d, viewAttributedUnitsOrdered14d, viewImpressions).\n\n**Note**: Detail page view metrics (attributedDetailPageView14d, viewAttributedDetailPageView14d) have an SLA of 3 days.\n\n**Tip**: Use new-to-brand (NTB) metrics to calculate how efficient your campaigns are at driving new shoppers:\n\n 1. Percentage of NTB orders = attributedOrdersNewToBrand14d / attributedConversions14d\n 2. Percentage NTB sales = attributedSalesNewToBrand14d / attributedSales14d\n 3. Percentage NTB units = attributedUnitsOrderedNewToBrand14d / attributedUnitsOrdered14d\n 4. NTB order rate = attributedOrdersNewToBrand14 / impressions", + "example": "campaignName,campaignId,impressions,clicks,cost,attributedSales14d" + } + } + }, + "ReportResponse": { + "type": "object", + "properties": { + "reportId": { + "type": "string", + "description": "The identifier of the report." + }, + "recordType": { + "type": "string", + "description": "The type of report requested.", + "enum": [ + "CAMPAIGN", + "AD_GROUP", + "PRODUCT_AD" + ] + }, + "status": { + "type": "string", + "description": "The build status of the report.", + "enum": [ + "IN_PROGRESS", + "SUCCESS", + "FAILURE" + ] + }, + "statusDetails": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "location": { + "type": "string", + "description": "The URI location of the report." + }, + "fileSize": { + "type": "integer", + "description": "The size of the report file, in bytes.", + "format": "int64" + }, + "expiration": { + "type": "integer", + "description": "Epoch date of the expiration of the URI in the `location` property.", + "format": "int64" + } + } + }, + "PatchRequest": { + "required": [ + "id", + "request" + ], + "description": "JSONPatch request request object.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "request": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchDocument" + } + } + } + }, + "PatchDocument": { + "required": [ + "op", + "path" + ], + "description": "JSONPatch request document.", + "type": "object", + "properties": { + "op": { + "description": "The JSONPatch operation type.", + "type": "string", + "enum": [ + "add", + "remove", + "replace" + ], + "example": "replace" + }, + "path": { + "type": "string", + "description": "A path constructed from the JSON object to be updated.", + "example": "/state" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "integer" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": {} + }, + { + "type": "object" + } + ], + "example": "paused", + "description": "The value used by the operation specified in the `op` field." + } + } + }, + "CreativeProperties": { + "description": "Select customizations on your creative from any combination of headline, logo, and custom image.", + "anyOf": [ + { + "$ref": "#/components/schemas/HeadlineCreativeProperties" + }, + { + "$ref": "#/components/schemas/LogoCreativeProperties" + }, + { + "$ref": "#/components/schemas/CustomImageCreativeProperties" + }, + { + "$ref": "#/components/schemas/VideoCreativeProperties" + } + ] + }, + "HeadlineCreativeProperties": { + "type": "object", + "description": "User-customizable properties of a creative with headline.", + "properties": { + "headline": { + "type": "string", + "maxLength": 50, + "description": "A marketing phrase to display on the ad. This field is optional and mutable. Maximum number of characters allowed is 50." + } + } + }, + "LogoCreativeProperties": { + "type": "object", + "description": "User-customizable properties of a creative with a logo.", + "properties": { + "brandLogo": { + "$ref": "#/components/schemas/Image" + } + } + }, + "CustomImageCreativeProperties": { + "type": "object", + "description": "User-customizable properties of a custom image creative.", + "properties": { + "rectCustomImage": { + "$ref": "#/components/schemas/Image" + }, + "squareCustomImage": { + "$ref": "#/components/schemas/Image" + }, + "squareImages": { + "type": "array", + "description": "An optional collection of 1:1 square images which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "items": { + "$ref": "#/components/schemas/Image" + } + }, + "landscapeImages": { + "type": "array", + "description": "An optional collection of 16:9 landscape images which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "items": { + "$ref": "#/components/schemas/Image" + } + }, + "portraitImages": { + "type": "array", + "description": "An optional collection of 9:16 portrait images which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "items": { + "$ref": "#/components/schemas/Image" + } + } + } + }, + "VideoCreativeProperties": { + "type": "object", + "description": "User-customizable properties of a video creative.", + "properties": { + "video": { + "$ref": "#/components/schemas/Video" + }, + "squareVideos": { + "type": "array", + "description": "An optional collection of 1:1 square videos which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "items": { + "$ref": "#/components/schemas/Video" + } + }, + "landscapeVideos": { + "type": "array", + "description": "An optional collection of 16:9 landscape videos which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "items": { + "$ref": "#/components/schemas/Video" + } + }, + "portraitVideos": { + "type": "array", + "description": "An optional collection of 9:16 portrait videos which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available.", + "items": { + "$ref": "#/components/schemas/Video" + } + } + } + }, + "Image": { + "type": "object", + "description": "This field denotes image which is displayed on the ad. This can either be a brand logo or a custom image. This field is optional and mutable. For custom image, both rectCustomImage and squareCustomImage should use the same asset id and asset version. Specific restrictions based on the Image type are listed in the following table.\n|Image type|Maximum file size|Minimum width|Minimum height|Accepted file formats|\n|------|-----------|-----------|-----------|-----------|\n|Custom Image|5MB|1200|628|JPEG, JPG, PNG, GIF|\n|Brand Logo|1MB|600|100|JPEG, JPG, PNG|\nNote: For square custom images the cropped image should be 628x628 at minimum.", + "required": [ + "assetId", + "assetVersion" + ], + "properties": { + "assetId": { + "type": "string", + "description": "The unique identifier of the image asset. This assetId comes from the Creative Asset Library." + }, + "assetVersion": { + "type": "string", + "description": "The identifier of the particular image assetversion." + }, + "croppingCoordinates": { + "type": "object", + "description": "Optional cropping coordinates to apply to the image.", + "required": [ + "top", + "left", + "width", + "height" + ], + "properties": { + "top": { + "type": "integer", + "minimum": 0, + "description": "Pixel distance from the top edge of the cropping zone to the top edge of the original image." + }, + "left": { + "type": "integer", + "minimum": 0, + "description": "Pixel distance from the left edge of the cropping zone to the left edge of the original image." + }, + "width": { + "type": "integer", + "minimum": 0, + "description": "Pixel width of the cropping zone." + }, + "height": { + "type": "integer", + "minimum": 0, + "description": "Pixel height of the cropping zone." + } + } + } + } + }, + "Video": { + "type": "object", + "description": "This field denotes video which is displayed on the ad. This field is optional and mutable. A video asset must be provided for a VIDEO creative. Specific restrictions based on the video are listed in the following table.\n||Specifications|\n|------------------|------------------|\n|Maximum file size|500MB|\n|Aspect ratio|16:9|\n|Minimum duration|6s|\n|Maximum duration|45s|\n|Minimum frame size|1920x1080|\n|Minimum video bitrate|4mbps|\n|Video frame rate(fps)|23.976(recommended), 24, 25, or 29.97|\n|Video frame rate mode|Constant|\n|Minimum audio bitrate|192kbps|\n|Audio sample rate|44.1kHz or 48kHz|\n|Supported Formats|Video: H.264, MPEG-2, or MPEG-4; Audio: PCM or AAC|\n|Audio Channel|Audio format needs to be stereo or mono.|\n|Recommended video bitrate|8mbps|\n|Recommended duration|A duration of exactly 6s, 15s, 20s, or 30s is recommended. Use of videos outside of these durations may negatively impact your campaign performance. Shorter lengths will drive higher VCR (although scale on 6s may be limited).|", + "required": [ + "assetId", + "assetVersion" + ], + "properties": { + "assetId": { + "type": "string", + "description": "The unique identifier of the video asset. This assetId comes from the Creative Asset Library." + }, + "assetVersion": { + "type": "string", + "description": "The identifier of the particular video assetversion." + } + } + }, + "CreativeModeration": { + "type": "object", + "description": "System generated Creative moderation.", + "required": [ + "creativeId", + "moderationStatus", + "etaForModeration", + "policyViolations", + "creativeType" + ], + "properties": { + "creativeId": { + "type": "number", + "description": "Unique identifier of the creative." + }, + "creativeType": { + "$ref": "#/components/schemas/CreativeTypeInCreativeResponse" + }, + "moderationStatus": { + "type": "string", + "description": "The moderation status of the creative.\n|Status|Description|\n|------|-----------|\n|APPROVED|Moderation for the creative is complete.|\n|IN_PROGRESS|Moderation for the creative is in progress. The expected date and time for completion are specfied in the `etaForModeration` field.|\n|REJECTED|The creative has failed moderation. Specific information about the content that violated policy is available in `policyViolations`.|", + "enum": [ + "APPROVED", + "PENDING_REVIEW", + "REJECTED" + ] + }, + "etaForModeration": { + "type": "string", + "format": "date-time", + "description": "Expected date and time by which moderation will be complete." + }, + "policyViolations": { + "type": "array", + "description": "A list of policy violations for a creative that has failed moderation.", + "items": { + "type": "object", + "properties": { + "policyDescription": { + "type": "string", + "description": "A human-readable description of the policy." + }, + "policyLinkUrl": { + "type": "string", + "description": "Address of the policy documentation. Follow the link to learn more about the specified policy." + }, + "violatingHeadlineContents": { + "type": "array", + "description": "Information about the headline text that violates the specified policy.", + "items": { + "type": "object", + "properties": { + "reviewedText": { + "type": "string", + "description": "The specific text reviewed during moderation." + }, + "textEvidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "violatingText": { + "type": "string", + "description": "The specific text determined to violate the specified policy in reviewedText" + }, + "violatingTextPosition": { + "type": "object", + "properties": { + "start": { + "type": "integer", + "description": "Zero-based index into the text in reviewedText where the text specified in violatingText starts" + }, + "end": { + "type": "integer", + "description": "Zero-based index into the text in reviewedText where the text specified in violatingText ends" + } + } + } + } + } + } + } + } + }, + "violatingBrandLogoContents": { + "type": "array", + "description": "Information about the brand logo that violates the specified policy.", + "items": { + "type": "object", + "properties": { + "reviewedImageUrl": { + "type": "string", + "description": "Address of the image reviewed during moderation." + }, + "imageEvidences": { + "type": "array", + "items": { + "type": "object", + "properties": { + "violatingImageCrop": { + "type": "object", + "properties": { + "topLeftX": { + "type": "integer", + "description": "The top left X-coordinate of the content that violates the specfied policy within the image." + }, + "topLeftY": { + "type": "integer", + "description": "The top left Y-coordinate of the content that violates the specfied policy within the image." + }, + "height": { + "type": "integer", + "description": "The height of the content that violates the specfied policy within the image." + }, + "width": { + "type": "integer", + "description": "The width of the content that violates the specfied policy within the image." + } + } + } + } + } + } + } + } + }, + "violatingCustomImageContents": { + "type": "array", + "description": "Information about the custom image that violates the specified policy.", + "items": { + "type": "object", + "properties": { + "reviewedImageUrl": { + "type": "string", + "description": "Address of the image reviewed during moderation." + }, + "imageEvidences": { + "type": "array", + "items": { + "type": "object", + "properties": { + "violatingImageCrop": { + "type": "object", + "properties": { + "topLeftX": { + "type": "integer", + "description": "The top left X-coordinate of the content that violates the specfied policy within the image." + }, + "topLeftY": { + "type": "integer", + "description": "The top left Y-coordinate of the content that violates the specfied policy within the image." + }, + "height": { + "type": "integer", + "description": "The height of the content that violates the specfied policy within the image." + }, + "width": { + "type": "integer", + "description": "The width of the content that violates the specfied policy within the image." + } + } + } + } + } + } + } + } + }, + "violatingVideoContents": { + "type": "array", + "description": "Information about the video that violates the specified policy.", + "items": { + "type": "object", + "properties": { + "reviewedVideoUrl": { + "type": "string", + "description": "Address of the video reviewed during moderation." + }, + "videoEvidences": { + "type": "array", + "items": { + "type": "object", + "properties": { + "violatingVideoPosition": { + "type": "object", + "properties": { + "start": { + "type": "integer", + "description": "Time at which policy violation within video asset starts." + }, + "end": { + "type": "integer", + "description": "Time at which policy violation within the video asset ends." + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "CreativeTypeInCreativeRequest": { + "type": "string", + "nullable": true, + "description": "The type of the creative.\n|Name|Description|\n|----|-----------|\n|IMAGE |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |The creative will display video assets. This type of creative must have video assets provided. Only supported when using productAds with ASIN or SKU.|", + "example": null, + "enum": [ + "IMAGE", + "VIDEO" + ] + }, + "CreativeTypeInCreativeResponse": { + "type": "string", + "nullable": false, + "description": "\nThe type of the creative.\n|Name|Description|\n|----|-----------|\n|IMAGE |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |The creative will display video assets. This type of creative must have video assets provided.|", + "example": "IMAGE", + "enum": [ + "IMAGE", + "VIDEO" + ] + }, + "Creative": { + "type": "object", + "description": "Creative model.", + "required": [ + "creativeId", + "adGroupId", + "properties", + "moderationStatus", + "creativeType" + ], + "properties": { + "creativeId": { + "type": "number", + "description": "Unique identifier of the creative." + }, + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "creativeType": { + "$ref": "#/components/schemas/CreativeTypeInCreativeResponse" + }, + "properties": { + "$ref": "#/components/schemas/CreativeProperties" + }, + "moderationStatus": { + "type": "string", + "description": "The moderation status of the creative", + "enum": [ + "APPROVED", + "PENDING_REVIEW", + "REJECTED" + ] + } + } + }, + "PreviewCreativeModel": { + "type": "object", + "description": "Creative model for preview.", + "properties": { + "creativeType": { + "$ref": "#/components/schemas/CreativeTypeInCreativeRequest" + }, + "properties": { + "$ref": "#/components/schemas/CreativeProperties" + } + } + }, + "CreativeUpdate": { + "type": "object", + "description": "Creative update model.", + "required": [ + "creativeId", + "properties" + ], + "properties": { + "creativeId": { + "type": "number", + "description": "Unique identifier of the creative.", + "readOnly": true + }, + "creativeType": { + "$ref": "#/components/schemas/CreativeTypeInCreativeRequest" + }, + "properties": { + "$ref": "#/components/schemas/CreativeProperties" + } + } + }, + "CreateCreative": { + "type": "object", + "description": "Creative create model.", + "example": { + "adGroupId": 21035454911234, + "properties": { + "rectCustomImage": { + "assetId": "amzn1.assetlibrary.asset1.fbb498fe19248f834be4b7xxxxxxxx", + "assetVersion": "version_v1", + "croppingCoordinates": { + "top": 0, + "left": 0, + "width": 1200, + "height": 628 + } + }, + "squareCustomImage": { + "assetId": "amzn1.assetlibrary.asset1.fbb498fe19248f834be4b7xxxxxxxx", + "assetVersion": "version_v1", + "croppingCoordinates": { + "top": 0, + "left": 0, + "width": 628, + "height": 628 + } + } + } + }, + "required": [ + "adGroupId", + "properties" + ], + "properties": { + "adGroupId": { + "type": "number", + "description": "Unqiue identifier for the ad group associated with the creative." + }, + "creativeType": { + "$ref": "#/components/schemas/CreativeTypeInCreativeRequest" + }, + "properties": { + "$ref": "#/components/schemas/CreativeProperties" + } + } + }, + "CreativeResponse": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The HTTP status code of the response." + }, + "description": { + "type": "string", + "description": "A human-readable description of the response." + }, + "creativeId": { + "type": "number", + "description": "The identifier of the creative." + } + } + }, + "CreativePreviewConfiguration": { + "type": "object", + "description": "Optional configuration for creative preview.", + "properties": { + "size": { + "type": "object", + "description": "The slot dimension to render the creative. Sponsored Display creatives are responsive to a limited list of width and height pairs, including 300x250, 650x130, 245x250, 414x125, 600x160, 600x300, 728x90, 980x55, 320x50, 970x250 and 270x150.", + "properties": { + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + } + } + }, + "products": { + "type": "array", + "description": "The products to preview. Currently only the first product is previewable.", + "items": { + "type": "object", + "properties": { + "asin": { + "type": "string", + "description": "The ASIN of the product." + } + } + } + }, + "landingPageURL": { + "$ref": "#/components/schemas/LandingPageURL" + }, + "landingPageType": { + "$ref": "#/components/schemas/LandingPageType" + }, + "adName": { + "$ref": "#/components/schemas/AdName" + }, + "isMobile": { + "type": "boolean", + "description": "Preview the creative as if it is on a mobile environment." + }, + "isOnAmazon": { + "type": "boolean", + "description": "Preview the creative as if it is on an amazon site or third party site. The main difference is whether the preview will contain an AdChoices icon." + } + } + }, + "CreativePreviewConfigurations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CreativePreviewConfiguration" + } + }, + "CreativePreviewRequest": { + "type": "object", + "required": [ + "creative", + "previewConfiguration" + ], + "properties": { + "creative": { + "$ref": "#/components/schemas/PreviewCreativeModel" + }, + "previewConfiguration": { + "$ref": "#/components/schemas/CreativePreviewConfiguration" + }, + "previewConfigurations": { + "$ref": "#/components/schemas/CreativePreviewConfigurations" + } + } + }, + "CreativePreviewResponse": { + "type": "object", + "required": [ + "previewHtml" + ], + "properties": { + "previewHtml": { + "type": "string" + }, + "previewHtmls": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Locale": { + "type": "string", + "description": "Locale string as described in [BCP 47](https://tools.ietf.org/html/bcp47). For example, `en-US`", + "pattern": "^\\[a-z]{2}-[AZ]{2}$", + "enum": [ + "en-US", + "es-MX", + "zh-CN", + "es-ES", + "it-IT", + "fr-FR", + "fr-CA", + "de-DE", + "ja-JP", + "ko-KR", + "en-GB", + "en-CA", + "hi-IN", + "en-IN", + "en-DE", + "en-ES", + "en-FR", + "en-IT", + "en-JP", + "en-AE", + "ar-AE" + ] + }, + "Error": { + "type": "object", + "description": "The error response object.", + "properties": { + "code": { + "type": "string", + "description": "The HTTP status code of the response." + }, + "details": { + "type": "string", + "description": "A human-readable description of the response." + } + } + }, + "TacticFilter": { + "type": "string", + "description": "Optional. Restricts results to entities with the advertising tactic associated with the campaign. Must be one of 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.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads.|", + "example": "T00020,T00030", + "enum": [ + "T00020", + "T00030", + "T00020,T00030" + ] + }, + "SnapshotRequest": { + "type": "object", + "properties": { + "stateFilter": { + "type": "string", + "description": "Optional. Restricts results to entities with state within the specified comma-separated list. Default behavior is to include 'enabled' and 'paused'. You can include 'enabled', 'paused', and 'archived' or any combination.", + "enum": [ + "enabled", + "paused", + "archived" + ] + }, + "tacticFilter": { + "$ref": "#/components/schemas/TacticFilter" + } + } + }, + "SnapshotResponse": { + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "The identifier of the snapshot that was requested." + }, + "recordType": { + "type": "string", + "description": "The record type of the snapshot file.", + "enum": [ + "campaigns", + "adgroups", + "productAds", + "targets" + ] + }, + "status": { + "type": "string", + "description": "The status of the generation of the snapshot.", + "enum": [ + "IN_PROGRESS", + "SUCCESS", + "FAILURE" + ] + }, + "statusDetails": { + "type": "string", + "description": "Optional description of the status." + }, + "location": { + "type": "string", + "description": "The URI for the snapshot. It's only available if status is SUCCESS." + }, + "fileSize": { + "type": "number", + "description": "The size of the snapshot file in bytes. It's only available if status is SUCCESS." + }, + "expiration": { + "type": "number", + "description": "The epoch time for expiration of the snapshot file and each snapshot file will be expired in 30 mins after generated. It's only available if status is SUCCESS." + } + } + }, + "SDTargetingRecommendationsLocale": { + "type": "string", + "description": "List of supported locales.", + "enum": [ + "ar_AE", + "de_DE", + "en_AE", + "en_AU", + "en_CA", + "en_GB", + "en_IN", + "en_SG", + "en_US", + "es_ES", + "es_MX", + "fr_CA", + "fr_FR", + "hi_IN", + "it_IT", + "ja_JP", + "ko_KR", + "nl_NL", + "pl_PL", + "pt_BR", + "sv_SE", + "ta_IN", + "th_TH", + "tr_TR", + "vi_VN", + "zh_CN" + ] + }, + "SDTargetingRecommendationsRequest": { + "description": "Request for targeting recommendations", + "required": [ + "tactic", + "products", + "typeFilter" + ], + "properties": { + "tactic": { + "$ref": "#/components/schemas/SDTactic" + }, + "products": { + "type": "array", + "minItems": 1, + "maxItems": 10000, + "description": "A list of products for which to get targeting recommendations", + "items": { + "$ref": "#/components/schemas/SDGoalProduct" + } + }, + "typeFilter": { + "type": "array", + "description": "A filter to indicate which types of recommendations to request.", + "minItems": 1, + "maxItems": 1, + "items": { + "$ref": "#/components/schemas/SDRecommendationType" + } + } + } + }, + "SDTargetingRecommendationsRequestV31": { + "description": "Request for targeting recommendations", + "required": [ + "tactic", + "products", + "typeFilter" + ], + "properties": { + "tactic": { + "$ref": "#/components/schemas/SDTacticV31" + }, + "products": { + "$ref": "#/components/schemas/SDTargetingRecommendationsProducts" + }, + "typeFilter": { + "$ref": "#/components/schemas/SDTargetingRecommendationsTypeFilterV31" + } + } + }, + "SDTargetingRecommendationsRequestV32": { + "description": "Request for targeting recommendations for API version 3.2.", + "required": [ + "tactic", + "products", + "typeFilter" + ], + "properties": { + "tactic": { + "$ref": "#/components/schemas/SDTacticV31" + }, + "products": { + "$ref": "#/components/schemas/SDTargetingRecommendationsProducts" + }, + "typeFilter": { + "$ref": "#/components/schemas/SDTargetingRecommendationsTypeFilterV31" + }, + "themes": { + "$ref": "#/components/schemas/SDTargetingRecommendationsThemes" + } + } + }, + "SDTargetingRecommendationsRequestV33": { + "description": "Request for targeting recommendations for API version 3.3.", + "required": [ + "tactic", + "products", + "typeFilter" + ], + "properties": { + "tactic": { + "$ref": "#/components/schemas/SDTacticV31" + }, + "products": { + "$ref": "#/components/schemas/SDTargetingRecommendationsProducts" + }, + "typeFilter": { + "$ref": "#/components/schemas/SDTargetingRecommendationsTypeFilterV32" + }, + "themes": { + "$ref": "#/components/schemas/SDTargetingRecommendationsThemes" + } + } + }, + "SDTargetingRecommendationsProducts": { + "type": "array", + "description": "A list of products for which to get targeting recommendations", + "minItems": 1, + "maxItems": 10000, + "items": { + "$ref": "#/components/schemas/SDGoalProduct" + } + }, + "SDTargetingRecommendationsTypeFilterV31": { + "type": "array", + "description": "A filter to indicate which types of recommendations to request.", + "minItems": 1, + "maxItems": 2, + "example": [ + "PRODUCT", + "CATEGORY" + ], + "items": { + "$ref": "#/components/schemas/SDRecommendationTypeV31" + } + }, + "SDTargetingRecommendationsTypeFilterV32": { + "type": "array", + "description": "A filter to indicate which types of recommendations to request.", + "minItems": 1, + "maxItems": 2, + "example": [ + "PRODUCT", + "CATEGORY", + "AUDIENCE" + ], + "items": { + "$ref": "#/components/schemas/SDRecommendationTypeV32" + } + }, + "SDTargetingRecommendationsThemes": { + "type": "object", + "description": "The themes used to refine the recommendations. Currently only contextual targeting themes are supported.", + "properties": { + "product": { + "type": "array", + "minItems": 0, + "maxItems": 5, + "description": "A list of themes for product targeting recommendations. If this list is empty, the service will return all the current available theme recommendations. Recommendations will be returned for each theme. If specified, each theme should only include unique expressions.", + "items": { + "$ref": "#/components/schemas/SDProductTargetingTheme" + } } } }, - "CreativeTypeInCreativeRequest": { + "SDProductTargetingTheme": { + "type": "object", + "description": "Contextual targeting theme definitions.", + "required": [ + "name", + "expression" + ], + "properties": { + "name": { + "type": "string", + "description": "This is the meaningful theme name which will be used as a unique identifier across various themes in the same request.\nThis identifier will also be used to map the recommendations back to the theme in the response body.\nNote: the value for this field cannot be \"default\" as that's a reserved keyword in the system.", + "minLength": 1, + "maxLength": 100, + "pattern": "^(?!default$)" + }, + "expression": { + "type": "array", + "minItems": 1, + "maxItems": 1, + "description": "A list of expressions defining the contextual targeting theme. The list will define an AND operator on different expressions.\nFor example, asinPriceGreaterThan and asinReviewRatingLessThan can be used to request product recommendations\nwhich are both with greater price and less review rating compared to the goal products.\nNote: Currently the service only supports one item in the array.", + "items": { + "$ref": "#/components/schemas/SDProductTargetingThemeExpression" + } + } + } + }, + "SDProductTargetingThemeExpression": { + "type": "object", + "description": "The expression used to define the contextual targeting theme.", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "The contextual targeting grammar used to define the targeting theme. Note asinAsBestSeller is currently not supported.", + "enum": [ + "asinPriceGreaterThan", + "asinReviewRatingLessThan", + "asinGlanceViewsGreaterThan", + "asinBrandSameAs" + ] + } + } + }, + "SDRecommendationType": { "type": "string", - "nullable": true, - "description": "\nThe type of the creative.\n|Name|Description|\n|----|-----------|\n|IMAGE |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |The creative will display video assets. This type of creative must have video assets provided.|", - "example": null, + "description": "Signifies a type of recommendation", + "example": "PRODUCT", "enum": [ - "IMAGE", - "VIDEO" + "PRODUCT" ] }, - "CreativeTypeInCreativeResponse": { + "SDRecommendationTypeV31": { "type": "string", - "nullable": false, - "description": "\nThe type of the creative.\n|Name|Description|\n|----|-----------|\n|IMAGE |The creative will display static assets (e.g. headline, brandLogo or custom image).|\n|VIDEO |The creative will display video assets. This type of creative must have video assets provided.|", - "example": "IMAGE", + "description": "Signifies a type of recommendation", + "example": "PRODUCT", "enum": [ - "IMAGE", - "VIDEO" + "PRODUCT", + "CATEGORY" ] }, - "Creative": { + "SDRecommendationTypeV32": { + "type": "string", + "description": "Signifies a type of recommendation. PRODUCT and CATEGORY are supported by tactic T00020. CATEGORY and AUDIENCE are supported by tactic T00030.", + "example": "PRODUCT", + "enum": [ + "PRODUCT", + "CATEGORY", + "AUDIENCE" + ] + }, + "SDASIN": { + "type": "string", + "description": "Amazon Standard Identification Number", + "example": "B00PN11UNW", + "pattern": "[a-zA-Z0-9]{10}" + }, + "SDErrorResponse": { + "properties": { + "code": { + "type": "string", + "description": "The HTTP status code of the response." + }, + "details": { + "type": "string", + "description": "A human-readable description of the response." + } + } + }, + "SDTargetingRecommendationsResponse": { + "description": "Response to a request for targeting recommendations.", + "properties": { + "recommendations": { + "$ref": "#/components/schemas/SDTargetingRecommendations" + } + } + }, + "SDTargetingRecommendationsResponseV31": { + "description": "Response to a request for targeting recommendations.", + "properties": { + "recommendations": { + "$ref": "#/components/schemas/SDTargetingRecommendationsV31" + } + } + }, + "SDTargetingRecommendationsResponseV32": { + "description": "Response to a request for targeting recommendations.", + "properties": { + "recommendations": { + "$ref": "#/components/schemas/SDTargetingRecommendationsV32" + } + } + }, + "SDTargetingRecommendationsResponseV33": { + "description": "Response to a request for targeting recommendations.", + "properties": { + "recommendations": { + "$ref": "#/components/schemas/SDTargetingRecommendationsV33" + } + } + }, + "SDTargetingRecommendationsV32": { + "description": "For v3.2 the service will continue to return the recommendations returned for v3.1 in products field, and return recommendations for contextual targeting themes in themes field.", + "allOf": [ + { + "$ref": "#/components/schemas/SDProductRecommendationsV32" + }, + { + "$ref": "#/components/schemas/SDCategoryRecommendations" + }, + { + "$ref": "#/components/schemas/SDThemeRecommendations" + } + ] + }, + "SDTargetingRecommendationsV33": { + "description": "For v3.3 the service will continue to return the recommendations returned for v3.2, and return audience recommendations if requested.", + "allOf": [ + { + "$ref": "#/components/schemas/SDProductRecommendationsV32" + }, + { + "$ref": "#/components/schemas/SDCategoryRecommendationsV33" + }, + { + "$ref": "#/components/schemas/SDAudienceRecommendations" + }, + { + "$ref": "#/components/schemas/SDThemeRecommendations" + } + ] + }, + "SDThemeRecommendations": { "type": "object", - "description": "Creative model.", - "required": [ - "creativeId", - "adGroupId", - "properties", - "moderationStatus", - "creativeType" - ], "properties": { - "creativeId": { - "type": "number", - "description": "Unique identifier of the creative.", - "readOnly": true + "themes": { + "properties": { + "products": { + "type": "array", + "description": "A list of contextual targeting theme recommendations.", + "minItems": 1, + "maxItems": 5, + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/SDProductTargetingRecommendationsSuccess" + }, + { + "$ref": "#/components/schemas/SDTargetingRecommendationsFailure" + } + ] + } + } + } + } + } + }, + "SDProductTargetingRecommendationsSuccess": { + "type": "object", + "description": "Recommendation results for contextual targeting.", + "properties": { + "code": { + "type": "string", + "description": "HTTP status code 200 indicating a successful response for product recomendations.", + "example": 200 }, - "adGroupId": { - "$ref": "#/components/schemas/AdGroupId" + "name": { + "type": "string", + "description": "The theme name specified in the request." }, - "creativeType": { - "$ref": "#/components/schemas/CreativeTypeInCreativeResponse" + "recommendations": { + "type": "array", + "description": "A list of recommended products.", + "minItems": 1, + "maxItems": 100, + "items": { + "$ref": "#/components/schemas/SDProductRecommendationV32" + } + } + } + }, + "SDTargetingRecommendationsFailure": { + "type": "object", + "description": "A targeting recommendation failure record.", + "properties": { + "code": { + "type": "string", + "description": "HTTP status code indicating a failure response for targeting recomendations.", + "example": 400 }, - "properties": { - "$ref": "#/components/schemas/CreativeProperties" + "name": { + "type": "string", + "description": "The theme name specified in the request. If the themes field is not provided in the request,\nthe value of this field will be set to default." }, - "moderationStatus": { + "errorMessage": { "type": "string", - "description": "The moderation status of the creative", - "enum": [ - "APPROVED", - "PENDING_REVIEW", - "REJECTED" - ] + "description": "A human friendly error message indicating the failure reasons." + } + } + }, + "SDCategory": { + "type": "integer", + "description": "The category identifier", + "example": 7352105011 + }, + "SDTargetingRecommendations": { + "description": "A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning.", + "properties": { + "products": { + "type": "array", + "description": "List of recommended product targets", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/SDProductRecommendation" + } } } }, - "PreviewCreativeModel": { + "SDProductRecommendation": { "type": "object", - "description": "Creative model for preview.", + "description": "A recommended product to target ads on", "properties": { - "creativeType": { - "$ref": "#/components/schemas/CreativeTypeInCreativeRequest" + "asin": { + "$ref": "#/components/schemas/SDASIN" }, - "properties": { - "$ref": "#/components/schemas/CreativeProperties" + "rank": { + "type": "integer", + "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", + "minimum": 1 } } }, - "CreativeUpdate": { + "SDProductRecommendationV32": { "type": "object", - "description": "Creative update model.", - "required": [ - "creativeId", - "properties" - ], + "description": "A recommended product to target ads on", "properties": { - "creativeId": { - "type": "number", - "description": "Unique identifier of the creative.", - "readOnly": true + "asin": { + "$ref": "#/components/schemas/SDASIN" }, - "creativeType": { - "$ref": "#/components/schemas/CreativeTypeInCreativeRequest" + "rank": { + "type": "integer", + "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", + "minimum": 1 }, - "properties": { - "$ref": "#/components/schemas/CreativeProperties" + "advertisedAsins": { + "type": "array", + "description": "The top advertised products this recommendation is made for.", + "minItems": 1, + "maxItems": 5, + "items": { + "$ref": "#/components/schemas/SDASIN" + } } } }, - "CreateCreative": { + "SDTargetingRecommendationsV31": { + "allOf": [ + { + "$ref": "#/components/schemas/SDProductRecommendationsV31" + }, + { + "$ref": "#/components/schemas/SDCategoryRecommendations" + } + ] + }, + "SDProductRecommendationsV31": { "type": "object", - "description": "Creative create model.", - "example": { - "adGroupId": 21035454911234, - "properties": { - "rectCustomImage": { - "assetId": "amzn1.assetlibrary.asset1.fbb498fe19248f834be4b7xxxxxxxx", - "assetVersion": "version_v1", - "croppingCoordinates": { - "top": 0, - "left": 0, - "width": 1200, - "height": 628 - } - }, - "squareCustomImage": { - "assetId": "amzn1.assetlibrary.asset1.fbb498fe19248f834be4b7xxxxxxxx", - "assetVersion": "version_v1", - "croppingCoordinates": { - "top": 0, - "left": 0, - "width": 628, - "height": 628 - } + "properties": { + "products": { + "type": "array", + "description": "List of recommended product targets", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/SDProductRecommendation" } } - }, - "required": [ - "adGroupId", - "properties" - ], + } + }, + "SDProductRecommendationsV32": { + "type": "object", "properties": { - "adGroupId": { - "type": "number", - "description": "Unqiue identifier for the ad group associated with the creative." - }, - "creativeType": { - "$ref": "#/components/schemas/CreativeTypeInCreativeRequest" - }, - "properties": { - "$ref": "#/components/schemas/CreativeProperties" + "products": { + "type": "array", + "description": "List of recommended product targets", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/SDProductRecommendationV32" + } } } }, - "CreativeResponse": { + "SDCategoryRecommendations": { "type": "object", "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." - }, - "description": { - "type": "string", - "description": "A human-readable description of the response." - }, - "creativeId": { - "type": "number", - "description": "The identifier of the creative." + "categories": { + "type": "array", + "description": "List of recommended category targets", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/SDCategoryRecommendation" + } } } }, - "CreativePreviewConfiguration": { + "SDCategoryRecommendationsV33": { "type": "object", - "description": "Optional configuration for creative preview.", "properties": { - "size": { + "categories": { + "type": "array", + "description": "List of recommended category targets.", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/SDCategoryRecommendationV33" + } + } + } + }, + "SDCategoryRecommendation": { + "description": "A recommended category to target ads on", + "properties": { + "category": { + "$ref": "#/components/schemas/SDCategory" + }, + "name": { + "type": "string", + "description": "The category name" + }, + "path": { + "type": "array", + "description": "The path of the category within the category catalogue.", + "minItems": 1, + "items": { + "type": "string" + } + }, + "targetableAsinCountRange": { "type": "object", - "description": "The slot dimension to render the creative. Sponsored Display creatives are responsive to a limited list of width and height pairs, including 300x250, 650x130, 245x250, 414x125, 600x160, 600x300, 728x90, 980x55, 320x50, 970x250 and 270x150.", + "description": "The range of ASINs available within the category catalogue. If no targetable ASIN counts are available then the targetableAsinCountRange value will be null without any properties.", "properties": { - "width": { + "rangeLower": { "type": "integer" }, - "height": { + "rangeUpper": { "type": "integer" } } }, - "products": { + "rank": { + "type": "integer", + "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", + "minimum": 1 + } + } + }, + "SDCategoryRecommendationV33": { + "description": "A recommended category to target ads on", + "properties": { + "category": { + "$ref": "#/components/schemas/SDCategory" + }, + "name": { + "type": "string", + "description": "The category name" + }, + "translatedName": { + "type": "string", + "description": "The translated category name by requested locale, field will not be provided if locale is not provided or campaign localization service is down." + }, + "path": { "type": "array", - "description": "The products to preview. Currently only the first product is previewable.", + "description": "The path of the category within the category catalogue.", + "minItems": 1, "items": { - "type": "object", - "properties": { - "asin": { - "type": "string", - "description": "The ASIN of the product." - } - } + "type": "string" } }, - "isMobile": { - "type": "boolean", - "description": "Preview the creative as if it is on a mobile environment." + "translatedPath": { + "type": "array", + "description": "The translated path of the category within the category catalogue by requested locale, field will not be provided if locale is not provided or campaign localization is down.", + "minItems": 1, + "items": { + "type": "string" + } }, - "isOnAmazon": { - "type": "boolean", - "description": "Preview the creative as if it is on an amazon site or third party site. The main difference is whether the preview will contain an AdChoices icon." + "targetableAsinCountRange": { + "type": "object", + "description": "The range of ASINs available within the category catalogue.", + "properties": { + "rangeLower": { + "type": "integer" + }, + "rangeUpper": { + "type": "integer" + } + } + }, + "rank": { + "type": "integer", + "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation.", + "minimum": 1 } } }, - "CreativePreviewRequest": { + "SDAudienceRecommendations": { "type": "object", - "required": [ - "creative", - "previewConfiguration" - ], "properties": { - "creative": { - "$ref": "#/components/schemas/PreviewCreativeModel" - }, - "previewConfiguration": { - "$ref": "#/components/schemas/CreativePreviewConfiguration" + "audiences": { + "type": "array", + "description": "List of recommended audience targets, broken down by audience category", + "minItems": 0, + "maxItems": 10, + "items": { + "$ref": "#/components/schemas/SDAudienceCategoryRecommendations" + } } } }, - "CreativePreviewResponse": { - "type": "object", - "required": [ - "previewHtml" - ], - "properties": { - "previewHtml": { - "type": "string" + "SDAudienceCategoryRecommendations": { + "description": "List of recommended standard Amazon audience targets of a specific audience category", + "properties": { + "category": { + "$ref": "#/components/schemas/SDAudienceCategory" + }, + "audiences": { + "type": "array", + "description": "List of recommended standard Amazon audience targets", + "minItems": 0, + "maxItems": 1000, + "items": { + "$ref": "#/components/schemas/SDAudienceRecommendation" + } } } }, - "Locale": { + "SDAudienceCategory": { "type": "string", - "description": "Locale string as described in [BCP 47](https://tools.ietf.org/html/bcp47). For example, `en-US`", - "pattern": "^\\[a-z]{2}-[AZ]{2}$", + "description": "An audience category determines the goal of the audience such as In-market, Interest, Lifestyle and Life Event", + "example": "In-Market", "enum": [ - "en-US", - "es-MX", - "zh-CN", - "es-ES", - "it-IT", - "fr-FR", - "fr-CA", - "de-DE", - "ja-JP", - "ko-KR", - "en-GB", - "en-CA", - "hi-IN", - "en-IN", - "en-DE", - "en-ES", - "en-FR", - "en-IT", - "en-JP", - "en-AE", - "ar-AE" + "In-market", + "Lifestyle", + "Interest", + "Life event" ] }, - "Error": { - "type": "object", - "description": "The error response object.", + "SDAudienceRecommendation": { + "description": "A recommended standard Amazon audience to target ads on", "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." + "audience": { + "$ref": "#/components/schemas/SDAudience" }, - "details": { + "name": { "type": "string", - "description": "A human-readable description of the response." + "description": "The Amazon audience name" + }, + "rank": { + "type": "integer", + "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", + "minimum": 1 } } }, - "TacticFilter": { + "SDAudience": { "type": "string", - "description": "Optional. Restricts results to entities with the advertising tactic associated with the campaign. Must be one of 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.|\n|T00030 |Audiences targeting | Select individual audiences to show your ads.|", - "example": "T00020,T00030", + "description": "The audience identifier", + "example": 417464173123977660 + }, + "SDTactic": { + "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   |Products | Products: Choose individual products to show your ads in placements related to those products.
Categories: Choose individual categories to show your ads in placements related to those categories.", + "example": "T00020", + "enum": [ + "T00020" + ] + }, + "SDTacticV31": { + "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   |Products | Products: Choose individual products to show your ads in placements related to those products.
Categories: Choose individual categories to show your ads in placements related to those categories.|\n |T00030 |Audiences  |Select individual audiences to show your ads.|", + "example": "T00020", "enum": [ "T00020", - "T00030", - "T00020,T00030" + "T00030" ] }, - "SnapshotRequest": { - "type": "object", + "SDGoalProduct": { + "description": "A product an advertisers wants to advertise. Recommendations will be made for specified goal products.", + "required": [ + "asin" + ], "properties": { - "stateFilter": { - "type": "string", - "description": "Optional. Restricts results to entities with state within the specified comma-separated list. Default behavior is to include 'enabled' and 'paused'. You can include 'enabled', 'paused', and 'archived' or any combination.", - "enum": [ - "enabled", - "paused", - "archived" - ] - }, - "tacticFilter": { - "$ref": "#/components/schemas/TacticFilter" + "asin": { + "$ref": "#/components/schemas/SDASIN" } } }, - "SnapshotResponse": { + "BrandSafetyDenyListDomainType": { + "type": "string", + "description": "The domain type.", + "enum": [ + "WEBSITE", + "APP" + ] + }, + "BrandSafetyDenyListDomainState": { + "type": "string", + "description": "The state of the domain.", + "enum": [ + "ENABLED", + "ARCHIVED" + ], + "default": "ENABLED" + }, + "BrandSafetyRequestStatus": { "type": "object", "properties": { - "snapshotId": { + "requestId": { "type": "string", - "description": "The identifier of the snapshot that was requested." + "description": "Request ID" }, - "recordType": { + "timestamp": { "type": "string", - "description": "The record type of the snapshot file.", - "enum": [ - "campaigns", - "adgroups", - "productAds", - "targets" - ] + "description": "Request timestamp" }, "status": { "type": "string", - "description": "The status of the generation of the snapshot.", + "description": "The status of the request", "enum": [ "IN_PROGRESS", - "SUCCESS", + "COMPLETED", "FAILURE" ] }, "statusDetails": { "type": "string", - "description": "Optional description of the status." - }, - "location": { - "type": "string", - "description": "The URI for the snapshot. It's only available if status is SUCCESS." - }, - "fileSize": { - "type": "number", - "description": "The size of the snapshot file in bytes. It's only available if status is SUCCESS." - }, - "expiration": { - "type": "number", - "description": "The epoch time for expiration of the snapshot file and each snapshot file will be expired in 30 mins after generated. It's only available if status is SUCCESS." + "description": "Details related to the request status" } } }, - "SDTargetingRecommendationsRequest": { - "description": "Request for targeting recommendations", - "required": [ - "tactic", - "products", - "typeFilter" - ], + "BrandSafetyGetResponse": { + "description": "Response for Brand Safety Deny List GET requests", "properties": { - "tactic": { - "$ref": "#/components/schemas/SDTactic" - }, - "products": { - "type": "array", - "minItems": 1, - "maxItems": 10000, - "description": "A list of products for which to get targeting recommendations", - "items": { - "$ref": "#/components/schemas/SDGoalProduct" - } + "pagination": { + "$ref": "#/components/schemas/BrandSafetyGetResponsePagination" }, - "typeFilter": { + "domains": { "type": "array", - "description": "A filter to indicate which types of recommendations to request.", - "minItems": 1, - "maxItems": 1, + "description": "List of Brand Safety Deny List Domains", "items": { - "$ref": "#/components/schemas/SDRecommendationType" + "$ref": "#/components/schemas/BrandSafetyDenyListProcessedDomain" } } } }, - "SDTargetingRecommendationsRequestV31": { - "description": "Request for targeting recommendations", - "required": [ - "tactic", - "products", - "typeFilter" - ], + "BrandSafetyGetResponsePagination": { + "type": "object", + "description": "Response pagination info for Brand Safety Deny List GET requests", "properties": { - "tactic": { - "$ref": "#/components/schemas/SDTacticV31" + "total": { + "type": "integer", + "description": "The total number of deny list domains created by the advertiser" }, - "products": { - "$ref": "#/components/schemas/SDTargetingRecommendationsProducts" + "limit": { + "type": "integer", + "description": "The maximum number of deny list domains returned from GET request" }, - "typeFilter": { - "$ref": "#/components/schemas/SDTargetingRecommendationsTypeFilterV31" + "offset": { + "type": "integer", + "description": "The number of deny list domains skipped" } } }, - "SDTargetingRecommendationsRequestV32": { - "description": "Request for targeting recommendations for API version 3.2.", + "BrandSafetyDenyListDomain": { + "type": "object", "required": [ - "tactic", - "products", - "typeFilter" + "name", + "type" ], "properties": { - "tactic": { - "$ref": "#/components/schemas/SDTacticV31" + "name": { + "type": "string", + "description": "The website or app identifier. This can be in the form of full domain (eg. 'example.com' or 'example.net'), or mobile app identifier (eg. 'com.example.app' for Android apps or '1234567890' for iOS apps)\n", + "maxLength": 250 }, - "products": { - "$ref": "#/components/schemas/SDTargetingRecommendationsProducts" + "type": { + "$ref": "#/components/schemas/BrandSafetyDenyListDomainType" + } + }, + "example": { + "name": "example.com", + "type": "WEBSITE" + } + }, + "BrandSafetyDenyListProcessedDomain": { + "type": "object", + "properties": { + "domainId": { + "type": "integer", + "description": "The identifier of the Brand Safety List domain.", + "format": "int64" }, - "typeFilter": { - "$ref": "#/components/schemas/SDTargetingRecommendationsTypeFilterV31" + "name": { + "type": "string", + "description": "The website or app identifier. This can be in the form of full domain (eg. 'example.com' or 'example.net'), or mobile app identifier (eg. 'com.example.app' for Android apps or '1234567890' for iOS apps)\n", + "maxLength": 250 }, - "themes": { - "$ref": "#/components/schemas/SDTargetingRecommendationsThemes" + "type": { + "$ref": "#/components/schemas/BrandSafetyDenyListDomainType" + }, + "state": { + "$ref": "#/components/schemas/BrandSafetyDenyListDomainState" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The date time the domain was created at. Format YYYY-MM-ddT:HH:mm:ssZ", + "example": "2018-09-16T11:43:21Z" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The date time the domain was last modified. Format YYYY-MM-ddT:HH:mm:ssZ", + "example": "2018-09-16T11:43:21Z" + } + } + }, + "BrandSafetyPostRequest": { + "description": "POST Request for Brand Safety", + "required": [ + "domains" + ], + "properties": { + "domains": { + "type": "array", + "minItems": 1, + "maxItems": 10000, + "items": { + "$ref": "#/components/schemas/BrandSafetyDenyListDomain" + } } } }, - "SDTargetingRecommendationsProducts": { - "type": "array", - "description": "A list of products for which to get targeting recommendations", - "minItems": 1, - "maxItems": 10000, - "items": { - "$ref": "#/components/schemas/SDGoalProduct" + "BrandSafetyUpdateResponse": { + "description": "Response for Brand Safety POST and DELETE requests", + "properties": { + "requestId": { + "type": "string", + "description": "The identifier of the request" + } } }, - "SDTargetingRecommendationsTypeFilterV31": { - "type": "array", - "description": "A filter to indicate which types of recommendations to request.", - "minItems": 1, - "maxItems": 2, - "example": [ - "PRODUCT", - "CATEGORY" + "BrandSafetyDenyListDomainUpdateResultStatus": { + "type": "string", + "description": "The state of the domain.", + "enum": [ + "SUCCESS", + "FAILURE" ], - "items": { - "$ref": "#/components/schemas/SDRecommendationTypeV31" - } + "default": "SUCCESS" }, - "SDTargetingRecommendationsThemes": { + "BrandSafetyRequestStatusResponse": { "type": "object", - "description": "The themes used to refine the recommendations. Currently only contextual targeting themes are supported.", + "description": "The status of the request.", "properties": { - "product": { - "type": "array", - "minItems": 0, - "maxItems": 5, - "description": "A list of themes for product targeting recommendations. If this list is empty, the service will return all the current available theme recommendations. Recommendations will be returned for each theme. If specified, each theme should only include unique expressions.", - "items": { - "$ref": "#/components/schemas/SDProductTargetingTheme" - } + "requestStatus": { + "$ref": "#/components/schemas/BrandSafetyRequestStatus" } } }, - "SDProductTargetingTheme": { + "BrandSafetyListRequestStatusResponse": { "type": "object", - "description": "Contextual targeting theme definitions.", - "required": [ - "name", - "expression" - ], + "description": "List of all requests' status.", "properties": { - "name": { - "type": "string", - "description": "This is the meaningful theme name which will be used as a unique identifier across various themes in the same request.\nThis identifier will also be used to map the recommendations back to the theme in the response body.\nNote: the value for this field cannot be \"default\" as that's a reserved keyword in the system.", - "minLength": 1, - "maxLength": 100, - "pattern": "^(?!default$)" - }, - "expression": { + "requestStatusList": { "type": "array", - "minItems": 1, - "maxItems": 1, - "description": "A list of expressions defining the contextual targeting theme. The list will define an AND operator on different expressions.\nFor example, asinPriceGreaterThan and asinReviewRatingLessThan can be used to request product recommendations\nwhich are both with greater price and less review rating compared to the goal products.\nNote: Currently the service only supports one item in the array.", + "description": "List of all requests' status.", "items": { - "$ref": "#/components/schemas/SDProductTargetingThemeExpression" + "$ref": "#/components/schemas/BrandSafetyRequestStatus" } } } }, - "SDProductTargetingThemeExpression": { + "BrandSafetyRequestResultsResponse": { "type": "object", - "description": "The expression used to define the contextual targeting theme.", - "required": [ - "type" - ], "properties": { - "type": { - "type": "string", - "description": "The contextual targeting grammar used to define the targeting theme. Note asinAsBestSeller is currently not supported.", - "enum": [ - "asinPriceGreaterThan", - "asinReviewRatingLessThan", - "asinGlanceViewsGreaterThan", - "asinBrandSameAs" - ] + "results": { + "type": "array", + "description": "A list of results for the given requestId", + "items": { + "$ref": "#/components/schemas/BrandSafetyRequestResult" + } } } }, - "SDRecommendationType": { - "type": "string", - "description": "Signifies a type of recommendation", - "example": "PRODUCT", - "enum": [ - "PRODUCT" - ] - }, - "SDRecommendationTypeV31": { - "type": "string", - "description": "Signifies a type of recommendation", - "example": "PRODUCT", - "enum": [ - "PRODUCT", - "CATEGORY" - ] - }, - "SDASIN": { - "type": "string", - "description": "Amazon Standard Identification Number", - "example": "B00PN11UNW", - "pattern": "[a-zA-Z0-9]{10}" - }, - "SDErrorResponse": { + "BrandSafetyRequestResult": { + "type": "object", "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." + "status": { + "$ref": "#/components/schemas/BrandSafetyDenyListDomainUpdateResultStatus" }, "details": { "type": "string", "description": "A human-readable description of the response." + }, + "domainId": { + "type": "integer", + "description": "The identifier of the Brand Safety Deny List Domain.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "The website or app identifier." } } }, - "SDTargetingRecommendationsResponse": { - "description": "Response to a request for targeting recommendations.", + "SDTargetingBidRecommendationsRequestV31": { + "description": "Request for targeting bid recommendations.", + "example": { + "products": [ + { + "asin": "B01B8R6V2E" + } + ], + "targetingClauses": [ + { + "targetingClause": { + "expressionType": "manual", + "expression": [ + { + "type": "views", + "value": [ + { + "type": "similarProduct" + }, + { + "type": "lookback", + "value": "30" + } + ] + } + ] + } + } + ] + }, + "required": [ + "targetingClauses" + ], "properties": { - "recommendations": { - "$ref": "#/components/schemas/SDTargetingRecommendations" + "products": { + "type": "array", + "minItems": 0, + "maxItems": 10000, + "description": "A list of products to tailor bid recommendations for category and audience based targeting clauses.", + "items": { + "$ref": "#/components/schemas/SDGoalProduct" + } + }, + "targetingClauses": { + "type": "array", + "minItems": 1, + "maxItems": 100, + "description": "A list of targeting clauses to receive bid recommendations for.", + "items": { + "type": "object", + "required": [ + "targetingClause" + ], + "properties": { + "targetingClause": { + "$ref": "#/components/schemas/SDTargetingClauseV31" + } + } + } } } }, - "SDTargetingRecommendationsResponseV31": { - "description": "Response to a request for targeting recommendations.", + "SDTargetingBidRecommendationsResponseV31": { + "description": "Response to a request for targeting bid recommendations.", + "required": [ + "bidRecommendations", + "costType" + ], "properties": { - "recommendations": { - "$ref": "#/components/schemas/SDTargetingRecommendationsV31" + "costType": { + "$ref": "#/components/schemas/SDCostTypeV31" + }, + "bidRecommendations": { + "minItems": 1, + "maxItems": 100, + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemSuccessV31" + }, + { + "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemFailureV31" + } + ] + } } } }, - "SDTargetingRecommendationsResponseV32": { - "description": "Response to a request for targeting recommendations.", - "properties": { - "recommendations": { - "$ref": "#/components/schemas/SDTargetingRecommendationsV32" - } - } + "SDCostTypeV31": { + "description": "Determines what performance metric the bid recommendations will be optimized for.\n|Name|Description|\n|----|----------|-----------|\n|cpc|The bid recommendations will be optimized for clicks triggered by the ad.|\n|vcpm|The bid recommendations will be optimized for viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.|", + "type": "string", + "enum": [ + "cpc", + "vcpm" + ] }, - "SDTargetingRecommendationsV32": { - "description": "For v3.2 the service will continue to return the recommendations returned for v3.1 in products field, and return recommendations for contextual targeting themes in themes field.", + "SDTargetingBidRecommendationsResponseItemSuccessV31": { + "description": "A recommended bid range to use for a target.", + "required": [ + "code" + ], "allOf": [ { - "$ref": "#/components/schemas/SDProductRecommendationsV32" - }, - { - "$ref": "#/components/schemas/SDCategoryRecommendations" + "description": "Success response for corresponding targeting clause on the request.", + "properties": { + "code": { + "type": "string", + "description": "The HTTP status code of this item.", + "example": "200" + } + } }, { - "$ref": "#/components/schemas/SDThemeRecommendations" + "$ref": "#/components/schemas/SDBidRecommendationV31" } ] }, - "SDThemeRecommendations": { - "type": "object", + "SDTargetingBidRecommendationsResponseItemFailureV31": { + "description": "Failed bid recommendation response.", + "required": [ + "code", + "details" + ], "properties": { - "themes": { - "properties": { - "products": { - "type": "array", - "description": "A list of contextual targeting theme recommendations.", - "minItems": 1, - "maxItems": 5, - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/SDProductTargetingRecommendationsSuccess" - }, - { - "$ref": "#/components/schemas/SDTargetingRecommendationsFailure" - } - ] - } - } - } + "code": { + "type": "string", + "description": "The HTTP status code of this item.", + "example": "400" + }, + "details": { + "type": "string", + "description": "A human-readable description of this item on error.", + "example": "Targeting expression does not conform to language specific rules." } } }, - "SDProductTargetingRecommendationsSuccess": { + "SDTargetingClauseV31": { + "description": "The targeting clause", + "required": [ + "expressionType", + "expression" + ], "type": "object", - "description": "Recommendation results for contextual targeting.", "properties": { - "code": { - "type": "string", - "description": "HTTP status code 200 indicating a successful response for product recomendations.", - "example": 200 - }, - "name": { + "expressionType": { + "description": "Tactic T00020 ad groups only allow manual targeting.", "type": "string", - "description": "The theme name specified in the request." + "enum": [ + "manual", + "auto" + ] }, - "recommendations": { - "type": "array", - "description": "A list of recommended products.", - "minItems": 1, - "maxItems": 100, - "items": { - "$ref": "#/components/schemas/SDProductRecommendationV32" - } + "expression": { + "$ref": "#/components/schemas/SDTargetingExpressionV31" } } }, - "SDTargetingRecommendationsFailure": { - "type": "object", - "description": "A targeting recommendation failure record.", + "SDBidRecommendationV31": { + "required": [ + "rangeLower", + "rangeUpper", + "recommended" + ], + "description": "A recommended bid range to use for a target.", "properties": { - "code": { - "type": "string", - "description": "HTTP status code indicating a failure response for targeting recomendations.", - "example": 400 + "rangeLower": { + "type": "number", + "description": "The lowest recommended bid to use to win an ad placement for this target.", + "example": 0.5 }, - "name": { - "type": "string", - "description": "The theme name specified in the request. If the themes field is not provided in the request,\nthe value of this field will be set to default." + "rangeUpper": { + "type": "number", + "description": "The highest recommended bid to use to win an ad placement for this target.", + "example": 1 }, - "errorMessage": { - "type": "string", - "description": "A human friendly error message indicating the failure reasons." + "recommended": { + "type": "number", + "description": "The recommended bid to use to win an ad placement for this target.", + "example": 0.75 } } }, - "SDCategory": { - "type": "integer", - "description": "The category identifier", - "example": 7352105011 + "SDTargetingExpressionV31": { + "type": "array", + "description": "The targeting expression to match against.\n\n------- Applicable to contextual targeting (T00020) -------\n* A 'TargetingExpression' in a contextual targeting campaign can only contain 'TargetingPredicate' components.\n* Expressions must specify either a category predicate or an ASIN predicate, but never both.\n* Only one category may be specified per targeting expression.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression.\n\n------- Applicable to audience targeting (T00030) -------\n* A 'TargetingExpression' in an audience campaign can only contain 'TargetingPredicateNested' components.", + "minItems": 1, + "items": { + "$ref": "#/components/schemas/SDTargetExpressionV31" + } }, - "SDTargetingRecommendations": { - "description": "A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning.", - "properties": { - "products": { - "type": "array", - "description": "List of recommended product targets", - "minItems": 0, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/SDProductRecommendation" - } + "SDTargetExpressionV31": { + "oneOf": [ + { + "$ref": "#/components/schemas/SDTargetingPredicateV31" + }, + { + "$ref": "#/components/schemas/SDTargetingPredicateNestedV31" } - } + ] }, - "SDProductRecommendation": { + "SDTargetingPredicateV31": { "type": "object", - "description": "A recommended product to target ads on", + "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" + ], "properties": { - "asin": { - "$ref": "#/components/schemas/SDASIN" + "type": { + "type": "string", + "enum": [ + "asinSameAs", + "asinCategorySameAs", + "asinBrandSameAs", + "asinPriceBetween", + "asinPriceGreaterThan", + "asinPriceLessThan", + "asinReviewRatingLessThan", + "asinReviewRatingGreaterThan", + "asinReviewRatingBetween", + "asinIsPrimeShippingEligible", + "asinAgeRangeSameAs", + "asinGenreSameAs" + ] }, - "rank": { - "type": "integer", - "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", - "minimum": 1 + "value": { + "type": "string", + "description": "The value to be targeted.", + "example": "B0123456789" } } }, - "SDProductRecommendationV32": { + "SDTargetingPredicateNestedV31": { "type": "object", - "description": "A recommended product to target ads on", + "description": "A behavioral event and list of targeting predicates that represents an audience to target (only applicable to audience targeting - T00030).\n\n* For manual ASIN-grain targeting, the value array must contain only, 'exactProduct', 'similarProduct', 'relatedProduct' and 'lookback' TargetingPredicateBase components. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For manual Category-grain targeting, the value array must contain a 'lookback' and 'asinCategorySameAs' TargetingPredicateBase component, which can be further refined with optional brand, price, star-rating and shipping eligibility refinements. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For manual Category-grain targeting, the value array must contain a 'lookback' and 'asinCategorySameAs' TargetingPredicateBase component, which can be further refined with optional brand, price, star-rating and shipping eligibility refinements.\n* For Amazon Audiences targeting, the TargetingPredicateNested type should be set to 'audience' and the value array should include one TargetingPredicateBase component with type set to 'audienceSameAs'.", + "required": [ + "type", + "value" + ], "properties": { - "asin": { - "$ref": "#/components/schemas/SDASIN" - }, - "rank": { - "type": "integer", - "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", - "minimum": 1 + "type": { + "type": "string", + "enum": [ + "views", + "audience", + "purchases" + ] }, - "advertisedAsins": { + "value": { "type": "array", - "description": "The top advertised products this recommendation is made for.", - "minItems": 1, - "maxItems": 5, "items": { - "$ref": "#/components/schemas/SDASIN" + "$ref": "#/components/schemas/SDTargetingPredicateBaseV31" } } } }, - "SDTargetingRecommendationsV31": { - "allOf": [ - { - "$ref": "#/components/schemas/SDProductRecommendationsV31" + "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, relatedProduct, and negative types do not utilize the value field.\n* The only type currently applicable to Amazon Audiences targeting is 'audienceSameAs'.", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "asinCategorySameAs", + "asinBrandSameAs", + "asinPriceBetween", + "asinPriceGreaterThan", + "asinPriceLessThan", + "asinReviewRatingLessThan", + "asinReviewRatingGreaterThan", + "asinReviewRatingBetween", + "similarProduct", + "relatedProduct", + "exactProduct", + "asinIsPrimeShippingEligible", + "asinAgeRangeSameAs", + "asinGenreSameAs", + "audienceSameAs", + "lookback" + ] }, - { - "$ref": "#/components/schemas/SDCategoryRecommendations" + "value": { + "type": "string", + "description": "The value to be targeted.", + "example": "B0123456789" } - ] + } }, - "SDProductRecommendationsV31": { - "type": "object", - "properties": { - "products": { - "type": "array", - "description": "List of recommended product targets", - "minItems": 0, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/SDProductRecommendation" + "SDTargetingBidRecommendationsRequestV32": { + "description": "Request for targeting bid recommendations.", + "example": { + "products": [ + { + "asin": "B01B8R6V2E" + } + ], + "bidOptimization": "reach", + "costType": "vcpm", + "targetingClauses": [ + { + "targetingClause": { + "expressionType": "manual", + "expression": [ + { + "type": "views", + "value": [ + { + "type": "similarProduct" + }, + { + "type": "lookback", + "value": "30" + } + ] + } + ] + } } - } - } - }, - "SDProductRecommendationsV32": { - "type": "object", + ] + }, + "required": [ + "targetingClauses", + "bidOptimization", + "costType" + ], "properties": { "products": { "type": "array", - "description": "List of recommended product targets", "minItems": 0, - "maxItems": 1000, + "maxItems": 10000, + "description": "A list of products to tailor bid recommendations for category and audience based targeting clauses.", "items": { - "$ref": "#/components/schemas/SDProductRecommendationV32" + "$ref": "#/components/schemas/SDGoalProduct" } - } - } - }, - "SDCategoryRecommendations": { - "type": "object", - "properties": { - "categories": { + }, + "bidOptimization": { + "$ref": "#/components/schemas/SDBidOptimizationV32" + }, + "costType": { + "$ref": "#/components/schemas/SDCostTypeV31" + }, + "targetingClauses": { "type": "array", - "description": "List of recommended category targets", - "minItems": 0, - "maxItems": 1000, + "minItems": 1, + "maxItems": 100, + "description": "A list of targeting clauses to receive bid recommendations for.", "items": { - "$ref": "#/components/schemas/SDCategoryRecommendation" + "type": "object", + "required": [ + "targetingClause" + ], + "properties": { + "targetingClause": { + "$ref": "#/components/schemas/SDTargetingClauseV31" + } + } } } } }, - "SDCategoryRecommendation": { - "description": "A recommended category to target ads on", + "SDTargetingBidRecommendationsResponseV32": { + "description": "Response to a request for targeting bid recommendations.", + "required": [ + "bidRecommendations", + "costType", + "bidOptimization" + ], "properties": { - "category": { - "$ref": "#/components/schemas/SDCategory" + "bidOptimization": { + "$ref": "#/components/schemas/SDBidOptimizationV32" }, - "name": { - "type": "string", - "description": "The category name" + "costType": { + "$ref": "#/components/schemas/SDCostTypeV31" }, - "path": { - "type": "array", - "description": " The path of the category within the category catalogue", + "bidRecommendations": { "minItems": 1, + "maxItems": 100, "items": { - "type": "string" - } - }, - "targetableAsinCountRange": { - "type": "object", - "description": "The range of ASINs available within the category catalogue. If no targetable ASIN counts are available then the targetableAsinCountRange value will be null without any properties.", - "properties": { - "rangeLower": { - "type": "integer" - }, - "rangeUpper": { - "type": "integer" - } + "oneOf": [ + { + "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemSuccessV31" + }, + { + "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemFailureV31" + } + ] } - }, - "rank": { - "type": "integer", - "description": "A rank to signify which recommendations are weighed more heavily, with a lower rank signifying a stronger recommendation", - "minimum": 1 } } }, - "SDTactic": { - "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   |Products | Products: Choose individual products to show your ads in placements related to those products.
Categories: Choose individual categories to show your ads in placements related to those categories.", - "example": "T00020", - "enum": [ - "T00020" - ] - }, - "SDTacticV31": { + "SDBidOptimizationV32": { "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   |Products | Products: Choose individual products to show your ads in placements related to those products.
Categories: Choose individual categories to show your ads in placements related to those categories.|\n |T00030 |Audiences  |Select individual audiences to show your ads.|", - "example": "T00020", + "description": "Determines what the recommended bids will be optimized for.\n\n|Name|CostType|Description|\n|----|--------|-----------|\n|reach|vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.|\n|clicks|cpc|Optimize for page visits|\n|conversions|cpc|Optimize for conversion|\n|leads |cpc| [PREVIEW ONLY] Optimize for lead generation.|", "enum": [ - "T00020", - "T00030" + "clicks", + "conversions", + "reach" ] }, - "SDGoalProduct": { - "description": "A product an advertisers wants to advertise. Recommendations will be made for specified goal products.", - "required": [ - "asin" - ], - "properties": { - "asin": { - "$ref": "#/components/schemas/SDASIN" - } - } - }, - "BrandSafetyDenyListDomainType": { + "RuleId": { "type": "string", - "description": "The domain type.", - "enum": [ - "WEBSITE", - "APP" - ] + "description": "The identifier of the optimization rule." }, - "BrandSafetyDenyListDomainState": { + "PlacementType": { "type": "string", - "description": "The state of the domain.", "enum": [ - "ENABLED", - "ARCHIVED" + "ALL" ], - "default": "ENABLED" + "default": "ALL", + "description": "Placement type where the rule should be applied, defaults to `ALL`(including home page, detail page, twitch and offsite).\n\n**Future** More available placemenTypes will be supported." }, - "BrandSafetyRequestStatus": { + "RuleCondition": { "type": "object", + "description": "A rule condition that defines the advertiser's intent for the outcome of the rule.\nCertain actions are performed by the product to achieve and maintain the rule condition.", "properties": { - "requestId": { - "type": "string", - "description": "Request ID" - }, - "timestamp": { - "type": "string", - "description": "Request timestamp" - }, - "status": { + "metricName": { "type": "string", - "description": "The status of the request", + "description": "The name of the metric.\nSupported rule metrics and corresponding supported comparisonOperators:\n| MetricName |ComparisonOperator |Description|\n|------------------|--------------------|-------------------|\n|COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS | LESS_THAN_OR_EQUAL_TO |Maximize viewable impressions while cost per 1000 views less than or equal to `threshold`|\n|COST_PER_ORDER | LESS_THAN_OR_EQUAL_TO |Maximize viewable impressions/page visits/conversion while cost per order less than or equal to `threshold`|\n|COST_PER_CLICK | LESS_THAN_OR_EQUAL_TO |Maximize page visits while cost per click less than or equal to `threshold`|", "enum": [ - "IN_PROGRESS", - "COMPLETED", - "FAILURE" + "COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS", + "COST_PER_ORDER", + "COST_PER_CLICK" ] }, - "statusDetails": { - "type": "string", - "description": "Details related to the request status" - } - } - }, - "BrandSafetyGetResponse": { - "description": "Response for Brand Safety Deny List GET requests", - "properties": { - "pagination": { - "$ref": "#/components/schemas/BrandSafetyGetResponsePagination" - }, - "domains": { - "type": "array", - "description": "List of Brand Safety Deny List Domains", - "items": { - "$ref": "#/components/schemas/BrandSafetyDenyListProcessedDomain" - } - } - } - }, - "BrandSafetyGetResponsePagination": { - "type": "object", - "description": "Response pagination info for Brand Safety Deny List GET requests", - "properties": { - "total": { - "type": "integer", - "description": "The total number of deny list domains created by the advertiser" - }, - "limit": { - "type": "integer", - "description": "The maximum number of deny list domains returned from GET request" - }, - "offset": { - "type": "integer", - "description": "The number of deny list domains skipped" - } - } - }, - "BrandSafetyDenyListDomain": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "name": { - "type": "string", - "description": "The website or app identifier. This can be in the form of full domain (eg. 'example.com' or 'example.net'), or mobile app identifier (eg. 'com.example.app' for Android apps or '1234567890' for iOS apps)\n", - "maxLength": 250 - }, - "type": { - "$ref": "#/components/schemas/BrandSafetyDenyListDomainType" - } - }, - "example": { - "name": "example.com", - "type": "WEBSITE" - } - }, - "BrandSafetyDenyListProcessedDomain": { - "type": "object", - "properties": { - "domainId": { - "type": "integer", - "description": "The identifier of the Brand Safety List domain.", - "format": "int64" - }, - "name": { + "comparisonOperator": { "type": "string", - "description": "The website or app identifier. This can be in the form of full domain (eg. 'example.com' or 'example.net'), or mobile app identifier (eg. 'com.example.app' for Android apps or '1234567890' for iOS apps)\n", - "maxLength": 250 - }, - "type": { - "$ref": "#/components/schemas/BrandSafetyDenyListDomainType" + "description": "The comparison operator.", + "enum": [ + "LESS_THAN_OR_EQUAL_TO" + ] }, + "threshold": { + "type": "number", + "description": "The value of the threshold associated with the metric. The threshold values has defined minimums depending on the metric names in the following table:\n| MetricName | Minimum of `threshold` Value |\n|----------------------------------------|-----------------------------------|\n|COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS | 1 |\n|COST_PER_ORDER | 3 |\n|COST_PER_CLICK | 0.5 |", + "format": "double", + "example": 1.5 + } + }, + "required": [ + "metricName", + "comparisonOperator", + "threshold" + ] + }, + "BaseOptimizationRule": { + "type": "object", + "properties": { "state": { - "$ref": "#/components/schemas/BrandSafetyDenyListDomainState" - }, - "createdAt": { "type": "string", - "format": "date-time", - "description": "The date time the domain was created at. Format YYYY-MM-ddT:HH:mm:ssZ", - "example": "2018-09-16T11:43:21Z" + "description": "The state of the optimization rule.", + "enum": [ + "enabled", + "paused [COMING LATER]" + ] }, - "lastModified": { + "ruleName": { "type": "string", - "format": "date-time", - "description": "The date time the domain was last modified. Format YYYY-MM-ddT:HH:mm:ssZ", - "example": "2018-09-16T11:43:21Z" + "description": "The name of the optimization rule." + }, + "ruleConditions": { + "type": "array", + "description": "A list of rule conditions that define the advertiser's intent for the outcome of the rule. The rule uses 'AND' logic to combine every condition in this list, and will validate the combination when the rule is created or updated.", + "minItems": 1, + "maxItems": 1, + "items": { + "$ref": "#/components/schemas/RuleCondition" + } } } }, - "BrandSafetyPostRequest": { - "description": "POST Request for Brand Safety", - "required": [ - "domains" - ], + "OptimizationRule": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseOptimizationRule" + }, + { + "type": "object", + "properties": { + "ruleId": { + "$ref": "#/components/schemas/RuleId" + } + } + } + ] + }, + "GetOptimizationRuleResponse": { + "type": "object", "properties": { - "domains": { + "optimizationRule": { + "$ref": "#/components/schemas/OptimizationRule" + }, + "adGroupIds": { "type": "array", + "description": "A list of adGroup identifiers that the optimization rule associates with.", "minItems": 1, - "maxItems": 10000, + "maxItems": 1, "items": { - "$ref": "#/components/schemas/BrandSafetyDenyListDomain" + "$ref": "#/components/schemas/AdGroupId" } } } }, - "BrandSafetyUpdateResponse": { - "description": "Response for Brand Safety POST and DELETE requests", - "properties": { - "requestId": { - "type": "string", - "description": "The identifier of the request" + "CreateOptimizationRule": { + "example": { + "state": "enabled", + "ruleName": "Optimization Rule Name", + "ruleConditions": { + "metricName": "COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS", + "comparisonOperator": "LESS_THAN_OR_EQUAL_TO", + "threshold": 1.5 } - } + }, + "required": [ + "state", + "ruleConditions" + ], + "allOf": [ + { + "$ref": "#/components/schemas/BaseOptimizationRule" + } + ] }, - "BrandSafetyDenyListDomainUpdateResultStatus": { - "type": "string", - "description": "The state of the domain.", - "enum": [ - "SUCCESS", - "FAILURE" + "UpdateOptimizationRule": { + "required": [ + "ruleId" ], - "default": "SUCCESS" + "allOf": [ + { + "$ref": "#/components/schemas/BaseOptimizationRule" + }, + { + "type": "object", + "properties": { + "ruleId": { + "$ref": "#/components/schemas/RuleId" + } + } + } + ] }, - "BrandSafetyRequestStatusResponse": { + "OptimizationRuleResponse": { "type": "object", - "description": "The status of the request.", "properties": { - "requestStatus": { - "$ref": "#/components/schemas/BrandSafetyRequestStatus" + "code": { + "type": "string", + "description": "The HTTP status code of the response." + }, + "description": { + "type": "string", + "description": "A human-readable description of the response." + }, + "ruleId": { + "$ref": "#/components/schemas/RuleId" } } }, - "BrandSafetyListRequestStatusResponse": { + "CreateAssociatedOptimizationRulesRequest": { "type": "object", - "description": "List of all requests' status.", "properties": { - "requestStatusList": { + "optimizationRuleIds": { "type": "array", - "description": "List of all requests' status.", + "description": "A list of optimization rule identifiers.", + "minItems": 1, + "maxItems": 1, "items": { - "$ref": "#/components/schemas/BrandSafetyRequestStatus" + "$ref": "#/components/schemas/RuleId" } } } }, - "BrandSafetyRequestResultsResponse": { + "SDForecastRequest": { "type": "object", + "description": "Request payload for SD forecasting. Below are required and optional fields. Fields not listed will not impact forecast results.\n|Field |Object |Required|\n|-------------------|------------------|--------|\n|startDate |Campaign |required|\n|endDate |Campaign |optional|\n|bidOptimization |AdGroup |required|\n|defaultBid |AdGroup |optional|\n|asin |ProductAds |required for vendors|\n|sku |ProductAds |required for sellers|\n|bid |TargetingClauses |required when defaultBid is not set|\n|expression |TargetingClauses |required|", + "required": [ + "campaign", + "adGroup", + "productAds", + "targetingClauses" + ], "properties": { - "results": { + "campaign": { + "$ref": "#/components/schemas/Campaign" + }, + "adGroup": { + "$ref": "#/components/schemas/AdGroup" + }, + "productAds": { "type": "array", - "description": "A list of results for the given requestId", + "minItems": 1, + "maxItems": 100, "items": { - "$ref": "#/components/schemas/BrandSafetyRequestResult" + "$ref": "#/components/schemas/ProductAd" + } + }, + "targetingClauses": { + "minItems": 1, + "maxItems": 100, + "description": "A list of SD targeting clauses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TargetingClause" + } + }, + "negativeTargetingClauses": { + "minItems": 1, + "maxItems": 100, + "description": "A list of SD negative targeting clauses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/NegativeTargetingClause" } } } }, - "BrandSafetyRequestResult": { + "SDForecastResponse": { + "description": "Response to a request for SD forecasting.", "type": "object", "properties": { - "status": { - "$ref": "#/components/schemas/BrandSafetyDenyListDomainUpdateResultStatus" - }, - "details": { - "type": "string", - "description": "A human-readable description of the response." - }, - "domainId": { - "type": "integer", - "description": "The identifier of the Brand Safety Deny List Domain.", - "format": "int64" + "bidOptimization": { + "type": "string" }, - "name": { - "type": "string", - "description": "The website or app identifier." - } - } - }, - "SDTargetingBidRecommendationsRequestV31": { - "description": "Request for targeting bid recommendations.", - "example": { - "products": [ - { - "asin": "B01B8R6V2E" - } - ], - "targetingClauses": [ - { - "targetingClause": { - "expressionType": "manual", - "expression": [ - { - "type": "views", - "value": [ - { - "type": "similarProduct" - }, - { - "type": "lookback", - "value": "30" - } - ] - } - ] - } + "lifetimeForecasts": { + "description": "Forecasts for campaign start date and end date. Default end date is start date plus 7 days.", + "type": "array", + "minItems": 1, + "maxItems": 4, + "items": { + "$ref": "#/components/schemas/Forecast" } - ] - }, - "required": [ - "targetingClauses" - ], - "properties": { - "products": { + }, + "weeklyForecasts": { + "description": "Weekly average forecasts.", "type": "array", - "minItems": 0, - "maxItems": 10000, - "description": "A list of products to tailor bid recommendations for category and audience based targeting clauses.", + "minItems": 1, + "maxItems": 4, "items": { - "$ref": "#/components/schemas/SDGoalProduct" + "$ref": "#/components/schemas/Forecast" } }, - "targetingClauses": { + "dailyForecasts": { + "description": "Daily average forecasts.", "type": "array", "minItems": 1, - "maxItems": 100, - "description": "A list of targeting clauses to receive bid recommendations for.", + "maxItems": 4, "items": { - "type": "object", - "required": [ - "targetingClause" - ], - "properties": { - "targetingClause": { - "$ref": "#/components/schemas/SDTargetingClauseV31" - } - } + "$ref": "#/components/schemas/Forecast" } } } }, - "SDTargetingBidRecommendationsResponseV31": { - "description": "Response to a request for targeting bid recommendations.", - "required": [ - "bidRecommendations", - "costType" - ], + "Forecast": { + "description": "Forecast impressions, clicks, reach, or conversions.", + "type": "object", "properties": { - "costType": { - "$ref": "#/components/schemas/SDCostTypeV31" + "metric": { + "type": "string", + "description": "Describes which metric is forecasted.\n|Name|Description|\n|-----------|------------------------|\n|IMPRESSIONS|Available impressions|\n|REACH |[Preview only] Delivered viewable impressions|\n|CLICKS |[Preview only] Delivered page visits|\n|CONVERSIONS|[Preview only] Delivered conversions|", + "enum": [ + "IMPRESSIONS", + "REACH", + "CLICKS", + "CONVERSIONS" + ] }, - "bidRecommendations": { - "minItems": 1, - "maxItems": 100, - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemSuccessV31" - }, - { - "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemFailureV31" - } - ] - } + "value": { + "$ref": "#/components/schemas/ForecastRange" } } }, - "SDCostTypeV31": { - "description": "Determines what performance metric the bid recommendations will be optimized for.\n|Name|Supported Tactics|Description|\n|----|----------|-----------|\n|cpc|T00020 T00030|The bid recommendations will be optimized for clicks triggered by the ad.|\n|vcpm|T00020 T00030|The bid recommendations will be optimized for viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.|", - "type": "string", - "enum": [ - "cpc", - "vcpm" - ] - }, - "SDTargetingBidRecommendationsResponseItemSuccessV31": { - "description": "A recommended bid range to use for a target.", - "required": [ - "code" - ], - "allOf": [ - { - "description": "Success response for corresponding targeting clause on the request.", - "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of this item.", - "example": "200" - } - } + "ForecastRange": { + "description": "Forecast range values.", + "properties": { + "min": { + "type": "integer", + "format": "int64" }, - { - "$ref": "#/components/schemas/SDBidRecommendationV31" + "max": { + "type": "integer", + "format": "int64" } - ] + } }, - "SDTargetingBidRecommendationsResponseItemFailureV31": { - "description": "Failed bid recommendation response.", - "required": [ - "code", - "details" - ], + "SDForecastErrorResponse": { "properties": { "code": { "type": "string", - "description": "The HTTP status code of this item.", - "example": "400" + "description": "The HTTP status code of the response." }, "details": { "type": "string", - "description": "A human-readable description of this item on error.", - "example": "Targeting expression does not conform to language specific rules." + "description": "A human-readable description of the response." } } }, - "SDTargetingClauseV31": { - "description": "The targeting clause", - "required": [ - "expressionType", - "expression" - ], + "CreateSDBudgetRulesRequest": { "type": "object", "properties": { - "expressionType": { - "description": "Tactic T00020 ad groups only allow manual targeting.", - "type": "string", - "enum": [ - "manual", - "auto" - ] + "budgetRulesDetails": { + "maxItems": 25, + "description": "A list of budget rule details.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRuleDetails" + } + } + } + }, + "CreateBudgetRulesResponse": { + "type": "object", + "properties": { + "responses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BudgetRuleResponse" + } + } + } + }, + "BudgetRuleError": { + "description": "The Error Response Object.", + "type": "object", + "properties": { + "code": { + "description": "An enumerated error code for machine use.", + "type": "string" }, - "expression": { - "$ref": "#/components/schemas/SDTargetingExpressionV31" + "details": { + "description": "A human-readable description of the response.", + "type": "string" } } }, - "SDBidRecommendationV31": { - "required": [ - "rangeLower", - "rangeUpper", - "recommended" - ], - "description": "A recommended bid range to use for a target.", + "SDBudgetHistory": { + "type": "object", "properties": { - "rangeLower": { - "type": "number", - "description": "The lowest recommended bid to use to win an ad placement for this target.", - "example": 0.5 + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SDRuleBasedBudget" + } + } + } + }, + "SDRuleBasedBudget": { + "type": "object", + "properties": { + "executionTime": { + "format": "int64", + "description": "Epoch time of budget rule execution.", + "type": "number" }, - "rangeUpper": { - "type": "number", - "description": "The highest recommended bid to use to win an ad placement for this target.", - "example": 1 + "appliedRule": { + "$ref": "#/components/schemas/SDBudgetRule" }, - "recommended": { - "type": "number", - "description": "The recommended bid to use to win an ad placement for this target.", - "example": 0.75 + "ruleBasedBudgetValue": { + "description": "The budget value.", + "type": "number" + }, + "dailyBudgetValue": { + "description": "The daily budget value.", + "type": "number" + }, + "performanceMetric": { + "$ref": "#/components/schemas/PerformanceMetricValue" } } }, - "SDTargetingExpressionV31": { - "type": "array", - "description": "The targeting expression to match against.\n\n------- Applicable to contextual targeting (T00020) -------\n* A 'TargetingExpression' in a contextual targeting campaign can only contain 'TargetingPredicate' components.\n* Expressions must specify either a category predicate or an ASIN predicate, but never both.\n* Only one category may be specified per targeting expression.\n* Only one brand may be specified per targeting expression.\n* Only one asin may be specified per targeting expression.\n* To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression.\n\n------- Applicable to audience targeting (T00030) -------\n* A 'TargetingExpression' in an audience campaign can only contain 'TargetingPredicateNested' components.\n* **Future** To exclude parts of an audience, specify a TargetingPredicateNested component that contains a negative TargetingPredicate type.", - "minItems": 1, - "items": { - "$ref": "#/components/schemas/SDTargetExpressionV31" + "GetSDBudgetRuleResponse": { + "type": "object", + "properties": { + "budgetRule": { + "$ref": "#/components/schemas/SDBudgetRule" + } } }, - "SDTargetExpressionV31": { - "oneOf": [ - { - "$ref": "#/components/schemas/SDTargetingPredicateV31" + "GetSDBudgetRulesForAdvertiserResponse": { + "type": "object", + "properties": { + "budgetRulesForAdvertiserResponse": { + "minItems": 0, + "maxItems": 30, + "description": "A list of rules created by the advertiser.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRule" + } }, - { - "$ref": "#/components/schemas/SDTargetingPredicateNestedV31" + "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.", + "type": "string" } - ] + } }, - "SDTargetingPredicateV31": { + "UpdateSDBudgetRulesRequest": { + "description": "Request object for updating budget rule for SD campaign", "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.", - "required": [ - "type" - ], "properties": { - "type": { - "type": "string", - "enum": [ - "asinSameAs", - "asinCategorySameAs", - "asinBrandSameAs", - "asinPriceBetween", - "asinPriceGreaterThan", - "asinPriceLessThan", - "asinReviewRatingLessThan", - "asinReviewRatingGreaterThan", - "asinReviewRatingBetween", - "asinIsPrimeShippingEligible", - "asinAgeRangeSameAs", - "asinGenreSameAs" - ] - }, - "value": { - "type": "string", - "description": "The value to be targeted.", - "example": "B0123456789" + "budgetRulesDetails": { + "maxItems": 25, + "description": "A list of budget rule details.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SDBudgetRule" + } } } }, - "SDTargetingPredicateNestedV31": { + "UpdateBudgetRulesResponse": { "type": "object", - "description": "A behavioral event and list of targeting predicates that represents an audience to target (only applicable to audience targeting - T00030).\n\n* For manual ASIN-grain targeting, the value array must contain only, 'exactProduct', 'similarProduct', 'relatedProduct' and 'lookback' TargetingPredicateBase components. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For manual Category-grain targeting, the value array must contain a 'lookback' and 'asinCategorySameAs' TargetingPredicateBase component, which can be further refined with optional brand, price, star-rating and shipping eligibility refinements. The 'lookback' is mandatory and the value should be set to '7', '14', '30', '60', '90', '180' or '365'.\n* For manual Category-grain targeting, the value array must contain a 'lookback' and 'asinCategorySameAs' TargetingPredicateBase component, which can be further refined with optional brand, price, star-rating and shipping eligibility refinements.\n* For Amazon Audiences targeting, the TargetingPredicateNested type should be set to 'audience' and the value array should include one TargetingPredicateBase component with type set to 'audienceSameAs'.\n* **Future** For manual Category-grain targeting, adding a 'negative' TargetingPredicateBase will exclude that TargetingPredicateNested from the overall audience.", - "required": [ - "type", - "value" - ], "properties": { - "type": { - "type": "string", - "enum": [ - "views", - "audience", - "purchases" - ] - }, - "value": { + "responses": { "type": "array", "items": { - "$ref": "#/components/schemas/SDTargetingPredicateBaseV31" + "$ref": "#/components/schemas/BudgetRuleResponse" } } } }, - "SDTargetingPredicateBaseV31": { + "SDBudgetRuleDetails": { + "description": "Object representing details of a budget rule for SD campaign", "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.", - "required": [ - "type" - ], "properties": { - "type": { - "type": "string", - "enum": [ - "asinCategorySameAs", - "asinBrandSameAs", - "asinPriceBetween", - "asinPriceGreaterThan", - "asinPriceLessThan", - "asinReviewRatingLessThan", - "asinReviewRatingGreaterThan", - "asinReviewRatingBetween", - "similarProduct", - "exactProduct", - "asinIsPrimeShippingEligible", - "asinAgeRangeSameAs", - "asinGenreSameAs", - "audienceSameAs", - "lookback" - ] + "duration": { + "$ref": "#/components/schemas/RuleDuration" + }, + "recurrence": { + "$ref": "#/components/schemas/Recurrence" + }, + "ruleType": { + "$ref": "#/components/schemas/SDRuleType" }, - "value": { + "budgetIncreaseBy": { + "$ref": "#/components/schemas/budgetIncreaseBy" + }, + "name": { + "description": "The budget rule name. Required to be unique within a campaign.", "type": "string", - "description": "The value to be targeted.", - "example": "B0123456789" + "maxLength": 355 + }, + "performanceMeasureCondition": { + "$ref": "#/components/schemas/PerformanceMeasureCondition" } } }, - "SDTargetingBidRecommendationsRequestV32": { - "description": "Request for targeting bid recommendations.", - "example": { - "products": [ - { - "asin": "B01B8R6V2E" - } - ], - "bidOptimization": "reach", - "costType": "vcpm", - "targetingClauses": [ - { - "targetingClause": { - "expressionType": "manual", - "expression": [ - { - "type": "views", - "value": [ - { - "type": "similarProduct" - }, - { - "type": "lookback", - "value": "30" - } - ] - } - ] - } - } - ] - }, - "required": [ - "targetingClauses", - "bidOptimization", - "costType" - ], + "BudgetRuleResponse": { + "type": "object", "properties": { - "products": { - "type": "array", - "minItems": 0, - "maxItems": 10000, - "description": "A list of products to tailor bid recommendations for category and audience based targeting clauses.", - "items": { - "$ref": "#/components/schemas/SDGoalProduct" - } + "code": { + "description": "An enumerated success or error code for machine use.", + "type": "string" }, - "bidOptimization": { - "$ref": "#/components/schemas/SDBidOptimizationV32" + "details": { + "description": "A human-readable description of the error, if unsuccessful", + "type": "string" }, - "costType": { - "$ref": "#/components/schemas/SDCostTypeV31" + "ruleId": { + "description": "The rule identifier.", + "type": "string" }, - "targetingClauses": { + "associatedCampaignIds": { "type": "array", - "minItems": 1, - "maxItems": 100, - "description": "A list of targeting clauses to receive bid recommendations for.", "items": { - "type": "object", - "required": [ - "targetingClause" - ], - "properties": { - "targetingClause": { - "$ref": "#/components/schemas/SDTargetingClauseV31" - } - } + "description": "The campaign identifier for which rule based budget may get updated", + "type": "string" } } } }, - "SDTargetingBidRecommendationsResponseV32": { - "description": "Response to a request for targeting bid recommendations.", + "SDBudgetRule": { + "type": "object", "required": [ - "bidRecommendations", - "costType", - "bidOptimization" + "ruleId" ], "properties": { - "bidOptimization": { - "$ref": "#/components/schemas/SDBidOptimizationV32" + "ruleState": { + "$ref": "#/components/schemas/state" }, - "costType": { - "$ref": "#/components/schemas/SDCostTypeV31" + "lastUpdatedDate": { + "format": "int64", + "description": "Epoch time of budget rule update. Read-only.", + "type": "number" }, - "bidRecommendations": { - "minItems": 1, - "maxItems": 100, - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemSuccessV31" - }, - { - "$ref": "#/components/schemas/SDTargetingBidRecommendationsResponseItemFailureV31" - } - ] - } + "createdDate": { + "format": "int64", + "description": "Epoch time of budget rule creation. Read-only.", + "type": "number" + }, + "ruleDetails": { + "$ref": "#/components/schemas/SDBudgetRuleDetails" + }, + "ruleId": { + "description": "The budget rule identifier.", + "type": "string" + }, + "ruleStatus": { + "description": "The budget rule status. Read-only.", + "type": "string" } } }, - "SDBidOptimizationV32": { + "state": { + "description": "The budget rule state.", "type": "string", - "description": "Determines what the recommended bids will be optimized for.\n\n|Name|CostType|Supported Tactics|Description|\n|----|----------|-----------|-----------|\n|clicks|cpc|T00020 T00030|Optimize for page visits|\n|conversions|cpc|T00020 T00030|Optimize for conversion|\n|reach|vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.|", "enum": [ - "clicks", - "conversions", - "reach" + "ACTIVE", + "PAUSED" ] }, - "RuleId": { - "type": "string", - "description": "The identifier of the optimization rule." + "PerformanceMetricValue": { + "description": "An object giving the name of the performance metric and its value when the rule was evaluated", + "type": "object", + "properties": { + "name": { + "description": "Name of the performance metric", + "type": "string" + }, + "value": { + "format": "double", + "description": "Value of the performance metric", + "type": "number" + } + } }, - "PlacementType": { + "RuleDuration": { + "type": "object", + "properties": { + "eventTypeRuleDuration": { + "$ref": "#/components/schemas/EventTypeRuleDuration" + }, + "dateRangeTypeRuleDuration": { + "$ref": "#/components/schemas/DateRangeTypeRuleDuration" + } + } + }, + "Recurrence": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/RecurrenceType" + }, + "daysOfWeek": { + "description": "Object representing days of the week for weekly type rule. It is not required for daily recurrence type", + "type": "array", + "items": { + "$ref": "#/components/schemas/DayOfWeek" + } + } + } + }, + "SDRuleType": { + "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.", "type": "string", "enum": [ - "ALL" + "SCHEDULE", + "PERFORMANCE" + ] + }, + "budgetIncreaseBy": { + "type": "object", + "required": [ + "type", + "value" ], - "default": "ALL", - "description": "Placement type where the rule should be applied, defaults to `ALL`(including home page, detail page, twitch and offsite).\n\n**Future** More available placemenTypes will be supported." + "properties": { + "type": { + "$ref": "#/components/schemas/BudgetChangeType" + }, + "value": { + "format": "double", + "description": "The budget value.", + "type": "number" + } + } }, - "RuleCondition": { + "PerformanceMeasureCondition": { "type": "object", - "description": "A rule condition that defines the advertiser's intent for the outcome of the rule.\nCertain actions are performed by the product to achieve and maintain the rule condition.", + "required": [ + "comparisonOperator", + "metricName", + "threshold" + ], "properties": { "metricName": { - "type": "string", - "description": "The name of the metric.\nSupported rule metrics and corresponding supported comparisonOperators:\n| MetricName |ComparisonOperator |Description|\n|------------------|--------------------|-------------------|\n|COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS |BETWEEN |Maximize viewable impressions while cost per 1000 views in `[rangeLower, rangeUpper]`|\n|COST_PER_ORDER |BETWEEN |Maximize viewable impressions/page visits/conversion while cost per order in `[rangeLower, rangeUpper]`|\n|COST_PER_CLICK |BETWEEN |Maximize page visits while cost per click in `[rangeLower, rangeUpper]`|", - "enum": [ - "COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS", - "COST_PER_ORDER", - "COST_PER_CLICK" - ] + "$ref": "#/components/schemas/PerformanceMetric" }, "comparisonOperator": { - "type": "string", - "description": "The comparison operator.", - "enum": [ - "BETWEEN" - ] + "$ref": "#/components/schemas/ComparisonOperator" }, - "range": { - "type": "object", - "description": "The value of the range associated with the metric. The range values can only be set to the supported value pairs listed in the following table:\n| MetricName |Supported Range ([rangeLower, rangeUpper]) |\n|----------------------------------------|------------------------------------------|\n|COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS |[3, 5], [5, 7], [7, 9], [9, 11] |\n|COST_PER_ORDER |[5, 15], [15, 25], [25, 35], [35, 50] |\n|COST_PER_CLICK |[0.5, 0.75], [0.75, 1], [1, 1.5], [1.5, 2]|", - "properties": { - "rangeLower": { - "type": "number", - "description": "The lower bound of the range. This value must be less than `rangeUpper`.", - "format": "double", - "minimum": 0, - "example": 0.5 - }, - "rangeUpper": { - "type": "number", - "description": "The upper bound of the range. This value must be greater than `rangeLower`.", - "format": "double", - "minimum": 0, - "example": 0.75 - } - }, - "required": [ - "rangeLower", - "rangeUpper" - ] + "threshold": { + "format": "double", + "description": "The performance threshold value.", + "type": "number" } - }, - "required": [ - "metricName", - "comparisonOperator", - "range" - ] + } }, - "BaseOptimizationRule": { + "EventTypeRuleDuration": { + "description": "Object representing event type rule duration.", "type": "object", + "required": [ + "eventId" + ], "properties": { - "state": { - "type": "string", - "description": "The state of the optimization rule.", - "enum": [ - "enabled", - "paused [COMING LATER]" - ] + "eventId": { + "description": "The event identifier. This value is available from the budget rules recommendation API.", + "type": "string" }, - "ruleName": { - "type": "string", - "description": "The name of the optimization rule." + "endDate": { + "description": "The event end date in YYYYMMDD format. Read-only.", + "type": "string" }, - "ruleConditions": { - "type": "array", - "description": "A list of rule conditions that define the advertiser's intent for the outcome of the rule. The rule uses 'AND' logic to combine every condition in this list, and will validate the combination when the rule is created or updated.", - "minItems": 1, - "maxItems": 1, - "items": { - "$ref": "#/components/schemas/RuleCondition" - } + "eventName": { + "description": "The event name. Read-only.", + "type": "string" + }, + "startDate": { + "description": "The event start date in YYYYMMDD format. Read-only. Note that this field is present only for announced events.", + "type": "string" } } }, - "OptimizationRule": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseOptimizationRule" + "DateRangeTypeRuleDuration": { + "description": "Object representing date range type rule duration.", + "type": "object", + "required": [ + "startDate" + ], + "properties": { + "endDate": { + "description": "The end date of the budget rule in YYYYMMDD format. The end date is inclusive. Required to be equal or greater than `startDate`.", + "type": "string" }, - { - "type": "object", - "properties": { - "ruleId": { - "$ref": "#/components/schemas/RuleId" - } - } + "startDate": { + "description": "The start date of the budget rule in YYYYMMDD format. The start date is inclusive. Required to be greater than or equal to current date.", + "type": "string" } + } + }, + "RecurrenceType": { + "description": "depicts the type of recurrence", + "type": "string", + "enum": [ + "DAILY", + "WEEKLY" + ] + }, + "DayOfWeek": { + "description": "The day of the week.", + "type": "string", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "BudgetChangeType": { + "description": "The value by which to update the budget of the budget rule.", + "type": "string", + "enum": [ + "PERCENT" ] }, - "GetOptimizationRuleResponse": { + "PerformanceMetric": { + "description": "The advertising performance metric.", + "type": "string", + "enum": [ + "ACOS", + "CTR", + "CVR", + "ROAS" + ] + }, + "ComparisonOperator": { + "description": "The comparison operator.", + "type": "string", + "enum": [ + "GREATER_THAN", + "LESS_THAN", + "LESS_THAN_OR_EQUAL_TO", + "GREATER_THAN_OR_EQUAL_TO" + ] + }, + "BudgetUsageCampaignRequest": { "type": "object", "properties": { - "optimizationRule": { - "$ref": "#/components/schemas/OptimizationRule" - }, - "adGroupIds": { - "type": "array", - "description": "A list of adGroup identifiers that the optimization rule associates with.", + "campaignIds": { "minItems": 1, - "maxItems": 1, + "maxItems": 100, + "description": "A list of campaign IDs", + "type": "array", "items": { - "$ref": "#/components/schemas/AdGroupId" + "type": "string" } } } }, - "CreateOptimizationRule": { - "example": { - "state": "enabled", - "ruleName": "Optimization Rule Name", - "ruleConditions": { - "metricName": "COST_PER_THOUSAND_VIEWABLE_IMPRESSIONS", - "comparisonOperator": "BETWEEN", - "range": { - "rangeLower": 3, - "rangeUpper": 5 + "BudgetUsageCampaignResponse": { + "type": "object", + "properties": { + "success": { + "description": "List of budget usage percentages that were successfully pulled", + "type": "array", + "items": { + "$ref": "#/components/schemas/BudgetUsageCampaign" } - } - }, - "required": [ - "state", - "ruleConditions" - ], - "allOf": [ - { - "$ref": "#/components/schemas/BaseOptimizationRule" - } - ] - }, - "UpdateOptimizationRule": { - "required": [ - "ruleId" - ], - "allOf": [ - { - "$ref": "#/components/schemas/BaseOptimizationRule" }, - { - "type": "object", - "properties": { - "ruleId": { - "$ref": "#/components/schemas/RuleId" - } + "error": { + "description": "List of budget usage percentages that failed to pull", + "type": "array", + "items": { + "$ref": "#/components/schemas/BudgetUsageCampaignBatchError" } } - ] + } }, - "OptimizationRuleResponse": { + "BudgetUsageError": { + "description": "The Error Response Object.", "type": "object", "properties": { "code": { - "type": "string", - "description": "The HTTP status code of the response." - }, - "description": { - "type": "string", - "description": "A human-readable description of the response." + "description": "An enumerated error code for machine use.", + "type": "string" }, - "ruleId": { - "$ref": "#/components/schemas/RuleId" + "details": { + "description": "A human-readable description of the response.", + "type": "string" } } }, - "CreateAssociatedOptimizationRulesRequest": { + "BudgetUsageCampaign": { "type": "object", "properties": { - "optimizationRuleIds": { - "type": "array", - "description": "A list of optimization rule identifiers.", - "minItems": 1, - "maxItems": 1, - "items": { - "$ref": "#/components/schemas/RuleId" - } + "budgetUsagePercent": { + "description": "Budget usage percentage (spend / available budget) for the given budget policy.", + "type": "number" + }, + "campaignId": { + "description": "ID of requested resource", + "type": "string" + }, + "usageUpdatedTimestamp": { + "format": "date-time", + "description": "Last evaluation time for budget usage", + "type": "string" + }, + "index": { + "description": "An index to maintain order of the campaignIds", + "type": "number" + }, + "budget": { + "description": "Budget amount of resource requested", + "type": "number" } } }, - "SDForecastRequest": { + "BudgetUsageCampaignBatchError": { "type": "object", - "description": "Request payload for SD forecasting. Below are required and optional fields. Fields not listed will not impact forecast results.\n|Field |Object |Required|\n|-------------------|------------------|--------|\n|startDate |Campaign |required|\n|endDate |Campaign |optional|\n|bidOptimization |AdGroup |required|\n|defaultBid |AdGroup |optional|\n|asin |ProductAds |required for vendors|\n|sku |ProductAds |required for sellers|\n|bid |TargetingClauses |required when defaultBid is not set|\n|expression |TargetingClauses |required|", - "required": [ - "campaign", - "adGroup", - "productAds", - "targetingClauses" - ], "properties": { - "campaign": { - "$ref": "#/components/schemas/Campaign" - }, - "adGroup": { - "$ref": "#/components/schemas/AdGroup" + "code": { + "description": "An enumerated error code for machine use.", + "type": "string" }, - "productAds": { - "type": "array", - "minItems": 1, - "maxItems": 100, - "items": { - "$ref": "#/components/schemas/ProductAd" - } + "campaignId": { + "description": "ID of requested resource", + "type": "string" }, - "targetingClauses": { - "minItems": 1, - "maxItems": 100, - "description": "A list of SD targeting clauses.", - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingClause" - } + "index": { + "description": "An index to maintain order of the campaignIds", + "type": "number" }, - "negativeTargetingClauses": { - "minItems": 1, - "maxItems": 100, - "description": "A list of SD negative targeting clauses.", - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeTargetingClause" - } + "details": { + "description": "A human-readable description of the response.", + "type": "string" } } }, - "SDForecastResponse": { - "description": "Response to a request for SD forecasting.", + "RuleBasedBudget": { "type": "object", "properties": { - "bidOptimization": { - "type": "string" + "isProcessing": { + "type": "boolean" }, - "lifetimeForecasts": { - "description": "Forecasts for campaign start date and end date. Default end date is start date plus 7 days.", - "type": "array", - "minItems": 1, - "maxItems": 4, - "items": { - "$ref": "#/components/schemas/Forecast" - } + "applicableRuleName": { + "type": "string" }, - "weeklyForecasts": { - "description": "Weekly average forecasts.", - "type": "array", - "minItems": 1, - "maxItems": 4, - "items": { - "$ref": "#/components/schemas/Forecast" - } + "value": { + "format": "double", + "type": "number" }, - "dailyForecasts": { - "description": "Daily average forecasts.", - "type": "array", - "minItems": 1, - "maxItems": 4, - "items": { - "$ref": "#/components/schemas/Forecast" - } + "applicableRuleId": { + "type": "string" } } }, - "Forecast": { - "description": "Forecast impressions, clicks, reach, or conversions.", - "type": "object", + "LocationExpressionId": { + "type": "integer", + "format": "int64", + "description": "The identifier of the location." + }, + "BaseLocation": { "properties": { - "metric": { + "state": { "type": "string", - "description": "Describes which metric is forecasted.\n|Name|Description|\n|-----------|------------------------|\n|IMPRESSIONS|Available impressions|\n|REACH |[Preview only] Delivered viewable impressions|\n|CLICKS |[Preview only] Delivered page visits|\n|CONVERSIONS|[Preview only] Delivered conversions|", "enum": [ - "IMPRESSIONS", - "REACH", - "CLICKS", - "CONVERSIONS" + "enabled" ] - }, - "value": { - "$ref": "#/components/schemas/ForecastRange" } } }, - "ForecastRange": { - "description": "Forecast range values.", + "Location": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseLocation" + }, + { + "type": "object", + "properties": { + "locationExpressionId": { + "$ref": "#/components/schemas/LocationExpressionId" + }, + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "expression": { + "type": "array", + "description": "The Location definition.", + "items": { + "$ref": "#/components/schemas/LocationExpression" + } + }, + "resolvedExpression": { + "type": "array", + "description": "The human-readable location definition.", + "items": { + "$ref": "#/components/schemas/ResolvedLocationExpression" + } + } + } + } + ] + }, + "LocationExpression": { + "type": "object", "properties": { - "min": { - "type": "integer", - "format": "int64" + "type": { + "$ref": "#/components/schemas/LocationPredicate" }, - "max": { - "type": "integer", - "format": "int64" + "value": { + "type": "string", + "description": "The location identifier. Currently, this can correspond to either a 'city', 'state', 'dma', 'postal code', or 'country'. Its value is discoverable using the GET /locations API.", + "example": "amzn1.ad-geo.XHvCjcKHXmJ7woVowo7CjmvCjcKWbMKHwp3CsGvCk8KrcmstQ2l0eQ==" } } }, - "SDForecastErrorResponse": { + "ResolvedLocationExpression": { + "type": "object", "properties": { - "code": { - "type": "string", - "description": "The HTTP status code of the response." + "type": { + "$ref": "#/components/schemas/LocationPredicate" }, - "details": { + "value": { "type": "string", - "description": "A human-readable description of the response." + "description": "The human-readable location name.", + "example": "New York City, New York, US" } } + }, + "LocationPredicate": { + "type": "string", + "description": "The location category.", + "enum": [ + "location" + ] + }, + "CreateLocation": { + "required": [ + "adGroupId", + "expression", + "state" + ], + "allOf": [ + { + "$ref": "#/components/schemas/BaseLocation" + }, + { + "type": "object", + "properties": { + "adGroupId": { + "$ref": "#/components/schemas/AdGroupId" + }, + "expression": { + "type": "array", + "description": "The location definition.", + "items": { + "$ref": "#/components/schemas/LocationExpression" + } + } + } + } + ] } }, "parameters": { diff --git a/docs/schemas/sponsored-products-extra.json b/docs/schemas/sponsored-products-extra.json index 9773c26..b7cc4e5 100644 --- a/docs/schemas/sponsored-products-extra.json +++ b/docs/schemas/sponsored-products-extra.json @@ -7,7 +7,7 @@ "paths": { "/sp/targets/bid/recommendations": { "post": { - "summary": "The current version of the theme-based bid recommendation service supports auto-targeting and keyword targeting expressions only. Note that the currency for bid recommendations are in local currency units.", + "summary": "This API is currently available in US, UK, DE, CA, JP, IN, ES, and FR. The API supports keyword and auto targets only. The API will return a 422 response when an unsupported marketplace or target is provided. For product targets in all marketplaces, and keyword or auto targets in other marketplaces, call /v2/sp/targets/bidRecommendations.", "requestBody": { "content": { "application/vnd.spthemebasedbidrecommendation.v3+json": { @@ -64,8 +64,38 @@ } } }, + "405": { + "description": "Method Not Allowed. Request failed because the request HTTP method is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BidRecommendationError" + } + } + } + }, + "406": { + "description": "Not Acceptable. Request failed because the service cannot produce a response in a format matching the media types provided in the Accept header.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BidRecommendationError" + } + } + } + }, + "415": { + "description": "Unsupported Media Type. Request failed because the payload format is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BidRecommendationError" + } + } + } + }, "422": { - "description": "Unprocessable entity. Failed due to invalid parameters.", + "description": "Unprocessable entity. Failed due to invalid parameters. If you receive an error like “Invalid Advertiser and ASINs combination in the request”, please make sure the ad group has at least one ASIN in it.", "content": { "application/json": { "schema": { @@ -699,6 +729,11 @@ "schema": { "$ref": "#/components/schemas/TargetableCategories" } + }, + "application/vnd.spproducttargetingresponse.v5+json": { + "schema": { + "$ref": "#/components/schemas/TargetableCategoriesLoP" + } } } }, @@ -770,6 +805,42 @@ "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 + }, + { + "schema": { + "type": "string", + "enum": [ + "ar_AE", + "de_DE", + "en_AE", + "en_AU", + "en_CA", + "en_GB", + "en_IN", + "en_SG", + "en_US", + "es_ES", + "es_MX", + "fr_CA", + "fr_FR", + "hi_IN", + "it_IT", + "ja_JP", + "ko_KR", + "nl_NL", + "pl_PL", + "pt_BR", + "sv_SE", + "ta_IN", + "th_TH", + "tr_TR", + "vi_VN", + "zh_CN" + ] + }, + "in": "query", + "name": "locale", + "description": "The locale to which the caller wishes to translate the targetable categories to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned targetable categories will be in the default language of the marketplace." } ], "tags": [ @@ -780,6 +851,10 @@ "/sp/rules/campaignOptimization": { "post": { "summary": "Creates a campaign optimization rule.", + "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "tags": [ + "Campaign Optimization Rules" + ], "requestBody": { "content": { "application/vnd.optimizationrules.v1+json": { @@ -863,7 +938,6 @@ } } }, - "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", "parameters": [ { "schema": { @@ -883,13 +957,14 @@ "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": [ - "Campaign Optimization Rules" ] }, "put": { "summary": "Updates a campaign optimization rule.", + "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", + "tags": [ + "Campaign Optimization Rules" + ], "requestBody": { "content": { "application/vnd.optimizationrules.v1+json": { @@ -973,7 +1048,6 @@ } } }, - "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]", "parameters": [ { "schema": { @@ -993,9 +1067,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. This is a required header for advertisers and integrators using the Advertising API.", "required": true } - ], - "tags": [ - "Campaign Optimization Rules" ] } }, @@ -1344,6 +1415,11 @@ "schema": { "$ref": "#/components/schemas/Refinements" } + }, + "application/vnd.spproducttargetingresponse.v4+json": { + "schema": { + "$ref": "#/components/schemas/RefinementsLoP" + } } } }, @@ -1434,6 +1510,42 @@ "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 + }, + { + "schema": { + "type": "string", + "enum": [ + "ar_AE", + "de_DE", + "en_AE", + "en_AU", + "en_CA", + "en_GB", + "en_IN", + "en_SG", + "en_US", + "es_ES", + "es_MX", + "fr_CA", + "fr_FR", + "hi_IN", + "it_IT", + "ja_JP", + "ko_KR", + "nl_NL", + "pl_PL", + "pt_BR", + "sv_SE", + "ta_IN", + "th_TH", + "tr_TR", + "vi_VN", + "zh_CN" + ] + }, + "in": "query", + "name": "locale", + "description": "The locale to which the caller wishes to translate the refinements to. For example, if the caller wishes to receive the refinements in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the refinements will be in the default language of the marketplace." } ], "tags": [ @@ -1925,12 +2037,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -2064,12 +2176,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -2442,6 +2554,11 @@ "schema": { "$ref": "#/components/schemas/CategoryRecommendationsWithAsinCounts" } + }, + "application/vnd.spproducttargetingresponse.v5+json": { + "schema": { + "$ref": "#/components/schemas/CategoryRecommendationsWithAsinCountsLoP" + } } } }, @@ -2523,6 +2640,42 @@ "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 + }, + { + "schema": { + "type": "string", + "enum": [ + "ar_AE", + "de_DE", + "en_AE", + "en_AU", + "en_CA", + "en_GB", + "en_IN", + "en_SG", + "en_US", + "es_ES", + "es_MX", + "fr_CA", + "fr_FR", + "hi_IN", + "it_IT", + "ja_JP", + "ko_KR", + "nl_NL", + "pl_PL", + "pt_BR", + "sv_SE", + "ta_IN", + "th_TH", + "tr_TR", + "vi_VN", + "zh_CN" + ] + }, + "in": "query", + "name": "locale", + "description": "The locale to which the caller wishes to translate the list of category recommendations to. For example, if the caller wishes to receive a list of category recommendations in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned list of category recommendations will be in the default language of the marketplace." } ], "tags": [ @@ -3004,7 +3157,7 @@ }, "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\"]", + "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. Note: value -1 means we don’t have enough information to compute the campaign’s percent time in budget.
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": { @@ -3241,12 +3394,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -3380,12 +3533,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -3521,12 +3674,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -3660,12 +3813,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -3892,12 +4045,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -4031,12 +4184,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -4172,12 +4325,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -4311,12 +4464,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -4697,12 +4850,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -4836,12 +4989,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -6077,12 +6230,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -6216,12 +6369,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -6582,7 +6735,7 @@ "/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\"]", + "description": "**Deprecation notice: This endpoint will be deprecated on August 31, 2023.** 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": { "200": { @@ -6729,6 +6882,10 @@ "/sp/rules/campaignOptimization/eligibility": { "post": { "summary": "Gets a campaign optimization rule recommendation for SP campaigns.", + "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": { @@ -6812,7 +6969,6 @@ } } }, - "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]", "parameters": [ { "schema": { @@ -6832,9 +6988,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. This is a required header for advertisers and integrators using the Advertising API.", "required": true } - ], - "tags": [ - "Campaign Optimization Rules" ] } }, @@ -7317,12 +7470,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -7456,12 +7609,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -7841,12 +7994,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -7980,12 +8133,12 @@ }, { "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", + "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only.", "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": "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.\nPlease note that the extendedData field will be part of the full object for /list endpoints only." } ], "tags": [ @@ -8187,6 +8340,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" @@ -8214,6 +8375,19 @@ "matchType" ] }, + "BrandLoP": { + "type": "object", + "properties": { + "name": { + "description": "Name of brand.", + "type": "string" + }, + "id": { + "description": "Id of brand.", + "type": "string" + } + } + }, "GetTargetableAsinCountsRequest": { "type": "object", "required": [ @@ -8635,6 +8809,7 @@ "targetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of targetingClauses with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateTargetingClause" @@ -8651,6 +8826,7 @@ "keywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of keywords.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateKeyword" @@ -8742,6 +8918,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" }, @@ -9164,6 +9344,7 @@ "type": "string" }, "name": { + "description": "The name of the campaign.", "type": "string" }, "targetingType": { @@ -9533,7 +9714,7 @@ "bid": { "nullable": true, "format": "double", - "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. This table details the maximum allowable bid (in local currency) for keywords by marketplace:\n| Marketplace | Currency | Min / Max bid for SP |\n| --- | --- | --- |\n| US | USD | 0.02 / 1000 |\n| CA | CAD | 0.02 / 1000 |\n| UK | GBP | 0.02 / 1000 |\n| DE | EUR | 0.02 / 1000 |\n| FR | EUR | 0.02 / 1000 |\n| ES | EUR | 0.02 / 1000 |\n| IT | EUR | 0.02 / 1000 |\n| JP | JPY | 2.0 / 100000 |\n| AU | AUD | 0.10 / 1410 |\n| AE | AED | 0.24 / 184.0 |", + "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" }, "adGroupId": { @@ -9647,6 +9828,7 @@ "campaigns": { "minItems": 0, "maxItems": 100, + "description": "An array of drafts with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateDraftCampaign" @@ -9914,6 +10096,7 @@ "negativeTargetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of negativeTargeting with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateNegativeTargetingClause" @@ -10041,6 +10224,7 @@ "type": "string" }, "name": { + "description": "The name of the DraftCampaign.", "type": "string" }, "targetingType": { @@ -10097,6 +10281,7 @@ "adGroups": { "minItems": 0, "maxItems": 1000, + "description": "An array of adGroups.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateGlobalAdGroup" @@ -10118,6 +10303,20 @@ "productAds" ] }, + "Values": { + "description": "Metrics benchmark values.", + "properties": { + "conversions": { + "$ref": "#/components/schemas/Conversions" + }, + "clicks": { + "$ref": "#/components/schemas/Clicks" + }, + "impressions": { + "$ref": "#/components/schemas/Impressions" + } + } + }, "SponsoredProductsGlobalCampaign": { "type": "object", "properties": { @@ -10127,7 +10326,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign.", "type": "string" }, "applicableMarketplaces": { @@ -10139,6 +10338,7 @@ } }, "name": { + "description": "The name of the campaign.", "type": "string" }, "targetingType": { @@ -10205,7 +10405,7 @@ ] }, "RangeMetricValue": { - "description": "Describes lower and upper bounds of the range.", + "description": "Describes lower and upper bounds of the range.\n\nNote: This object is nullable", "type": "object", "properties": { "lower": { @@ -10266,7 +10466,7 @@ } }, "dailyBudget": { - "description": "Recommended daily budget for the new campaign.", + "description": "Recommended daily budget for the new campaign. Note: value -1 means we don’t have enough information to provide a recommendation.", "type": "number" }, "recommendationId": { @@ -10498,7 +10698,7 @@ }, "bid": { "format": "double", - "description": "The bid for ads sourced using the target. Targets that do not have bid values in listDraftTargetingClauses will inherit the defaultBid from the adGroup level. This table details the maximum allowable bid (in local currency) for keywords by marketplace:\n| Marketplace | Currency | Min / Max bid for SP |\n| --- | --- | --- |\n| US | USD | 0.02 / 1000 |\n| CA | CAD | 0.02 / 1000 |\n| UK | GBP | 0.02 / 1000 |\n| DE | EUR | 0.02 / 1000 |\n| FR | EUR | 0.02 / 1000 |\n| ES | EUR | 0.02 / 1000 |\n| IT | EUR | 0.02 / 1000 |\n| JP | JPY | 2.0 / 100000 |\n| AU | AUD | 0.10 / 1410 |\n| AE | AED | 0.24 / 184.0 |", + "description": "The bid for ads sourced using the target. Targets that do not have bid values in listDraftTargetingClauses will inherit the defaultBid from the adGroup level. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" }, "adGroupId": { @@ -10674,6 +10874,13 @@ "AD_INELIGIBLE" ] }, + "BrandsLoP": { + "description": "List of Brands.", + "type": "array", + "items": { + "$ref": "#/components/schemas/BrandLoP" + } + }, "SponsoredProductsGlobalTargetingClauseFailureResponseItem": { "type": "object", "properties": { @@ -11172,6 +11379,7 @@ "negativeKeywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of negativeKeywords.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateNegativeKeyword" @@ -11344,20 +11552,13 @@ ] }, "Theme": { - "description": "The bid recommendation theme.", + "description": "The bid recommendation theme. This API currently supports `CONVERSION_OPPORTUNITIES`, `PRIME_DAY`, `FALL_PRIME_DEAL_EVENT`, and `BFCM_HOLIDAY` themes.", "type": "string", "enum": [ "CONVERSION_OPPORTUNITIES", "PRIME_DAY", "FALL_PRIME_DEAL_EVENT", - "VALENTINES_DAY", - "BACK_TO_SCHOOL", - "BFCM_HOLIDAY", - "TIME_SALE_FESTIVAL", - "FASHION_TIME_SALE_FESTIVAL", - "GREAT_REPUBLIC_DAY_SALE", - "GREAT_INDIAN_FESTIVAL", - "SPRING_SALE_EVENT" + "BFCM_HOLIDAY" ] }, "SponsoredProductsDraftKeywordExtendedData": { @@ -11515,6 +11716,15 @@ } } }, + "AgeRangesLoP": { + "description": "List of Age Ranges in a language of preference (LoP). Use the POST /sp/targets/category/{categoryId}/refinements endpoint to retrieve Age Ranges. Age Ranges are only available for categories related to children's toys and games.", + "type": "array", + "items": { + "minItems": 0, + "maxItems": 15, + "$ref": "#/components/schemas/AgeRangeLoP" + } + }, "SponsoredProductsDeleteSponsoredProductsAdGroupsRequestContent": { "type": "object", "properties": { @@ -12138,7 +12348,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "name": { @@ -12173,6 +12383,7 @@ "negativeKeywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of negativeKeywords with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateNegativeKeyword" @@ -12314,7 +12525,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "name": { @@ -12453,6 +12664,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" }, @@ -12578,7 +12793,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifer of the campaign to which the draft keyword is associated.", "type": "string" }, "matchType": { @@ -12586,12 +12801,11 @@ }, "bid": { "format": "double", - "description": "Bid associated with this draft keyword. Applicable to biddable match types only", - "type": "number", - "minimum": 0.02 + "description": "Bid associated with this draft keyword. Applicable to biddable match types only. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", + "type": "number" }, "adGroupId": { - "description": "entity object identifier", + "description": "The identifier of the ad group to which this draft keyword is associated.", "type": "string" }, "keywordText": { @@ -13004,7 +13218,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "name": { @@ -13135,6 +13349,7 @@ "campaigns": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaigns with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateCampaign" @@ -13692,6 +13907,7 @@ "productAds": { "minItems": 0, "maxItems": 1000, + "description": "An array of ads.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateProductAd" @@ -13754,6 +13970,23 @@ } } }, + "GenreLoP": { + "type": "object", + "properties": { + "name": { + "description": "Name of Genre.", + "type": "string" + }, + "id": { + "description": "Id of Genre. Use the POST /sp/targets/category/{categoryId}/refinements endpoint to retrieve Genre Node IDs.", + "type": "string" + }, + "translatedName": { + "description": "Translated name of the Genre based off locale send in the query parameter.", + "type": "string" + } + } + }, "SponsoredProductsGlobalNegativeTargetingClause": { "type": "object", "properties": { @@ -14363,7 +14596,8 @@ ] }, "ImpactMetrics": { - "description": "For the CONVERSION_OPPORTUNITIES theme, the impact metrics are weekly clicks and orders received for similar products.\nFor other event-based themes, the impact metrics are clicks and orders received for similar products during the event days", + "nullable": true, + "description": "For the CONVERSION_OPPORTUNITIES theme, the impact metrics are weekly clicks and orders received for similar products.\nFor other event-based themes, the impact metrics are clicks and orders received for similar products during the event days\n\nNote: This object is nullable", "type": "object", "properties": { "clicks": { @@ -14412,7 +14646,7 @@ "PORTFOLIO_STATUS_ENABLED_DETAIL", "PORTFOLIO_PAUSED_DETAIL", "PORTFOLIO_ARCHIVED_DETAIL", - "PORTFOLIO_OUT_OF_BUDGET", + "PORTFOLIO_OUT_OF_BUDGET_DETAIL", "PORTFOLIO_PENDING_START_DATE_DETAIL", "PORTFOLIO_ENDED_DETAIL", "ADVERTISER_POLICING_SUSPENDED_DETAIL", @@ -14534,7 +14768,7 @@ "bid": { "nullable": true, "format": "double", - "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. This table details the maximum allowable bid (in local currency) for keywords by marketplace:\n| Marketplace | Currency | Min / Max bid for SP |\n| --- | --- | --- |\n| US | USD | 0.02 / 1000 |\n| CA | CAD | 0.02 / 1000 |\n| UK | GBP | 0.02 / 1000 |\n| DE | EUR | 0.02 / 1000 |\n| FR | EUR | 0.02 / 1000 |\n| ES | EUR | 0.02 / 1000 |\n| IT | EUR | 0.02 / 1000 |\n| JP | JPY | 2.0 / 100000 |\n| AU | AUD | 0.10 / 1410 |\n| AE | AED | 0.24 / 184.0 |", + "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" } }, @@ -14564,10 +14798,11 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign.", "type": "string" }, "name": { + "description": "The name of the campaign.", "type": "string" }, "targetingType": { @@ -14609,6 +14844,7 @@ "keywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of keywords with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalKeyword" @@ -14755,6 +14991,8 @@ "description": "The advertising performance metric.", "type": "string", "enum": [ + "IS", + "NTB", "ROAS" ] }, @@ -14887,6 +15125,23 @@ "message" ] }, + "AgeRangeLoP": { + "type": "object", + "properties": { + "name": { + "description": "Name of Age Range.", + "type": "string" + }, + "id": { + "description": "Id of Age Range. Use the POST /sp/targets/category/{categoryId}/refinements endpoint to retrieve Age Range Node IDs.", + "type": "string" + }, + "translatedName": { + "description": "Translated name of Age Range based off locale sent in request.", + "type": "string" + } + } + }, "BudgetUsagePortfolioBatchError": { "type": "object", "properties": { @@ -14987,7 +15242,7 @@ "type": "object", "properties": { "campaignId": { - "description": "entity object identifier", + "description": "The identifer of the campaign to which the keyword is associated.", "type": "string" }, "matchType": { @@ -15004,7 +15259,7 @@ "$ref": "#/components/schemas/SponsoredProductsGlobalBid" }, "adGroupId": { - "description": "entity object identifier", + "description": "The identifier of the ad group to which this keyword is associated.", "type": "string" }, "keywordText": { @@ -15019,6 +15274,16 @@ "state" ] }, + "TargetableCategoriesLoP": { + "description": "Response object containing all targetable categories for the advertiser's marketplace in a language of preference (LoP) provide by the locale query parameter. ID is the category ID. NA is the name. TN is the translated name in the language of preference. CH is the list of child categories. TA is if the category is targetable. AsinCountRange is the AsinCounts of the node. Version 4 adds the number of targetable ASINs to each category.", + "type": "object", + "properties": { + "categoryTree": { + "type": "string" + } + }, + "example": "[{\"id\":2748212011,\"na\":\"Art Paper\",\"tn\":\"Papel de arte\",\"ch\":[{\"id\":8090742011,\"na\":\"Palette Paper\",\"tn\":\"Papel de paleta\",\"ch\":[],\"ta\":true, \"asinCountRange\":{\"min\":11,\"max\":19}},{\"id\":8090734011,\"na\":\"Sketchbooks & Notebooks\",\"tn\":\"Cuadernos de bocetos y cuadernos\",\"ch\":[],\"ta\":true, \"asinCountRange\":{\"min\":3,\"max\":5}}],\"ta\":true,\"asinCountRange\":{\"min\":57,\"max\":84}},{\"id\":12898291,\"na\":\"Tracing Paper\",\"tn\":\"Papel de trazar\",\"ch\":[],\"ta\":true, \"asinCountRange\":{\"min\":24,\"max\":40}}]" + }, "SponsoredProductsCreateCampaignNegativeTargetingClause": { "type": "object", "properties": { @@ -15267,11 +15532,11 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign to which the keyword is associated.", "type": "string" }, "matchType": { @@ -15288,7 +15553,7 @@ "$ref": "#/components/schemas/SponsoredProductsGlobalBid" }, "adGroupId": { - "description": "entity object identifier", + "description": "The identifier of the ad group to which this keyword is associated.", "type": "string" }, "keywordText": { @@ -15508,6 +15773,7 @@ "campaigns": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaigns.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateCampaign" @@ -15548,7 +15814,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the draft.", "type": "string" }, "name": { @@ -15920,6 +16186,7 @@ "campaigns": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaigns with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalCampaign" @@ -16412,7 +16679,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the draft keyword.", "type": "string" }, "nativeLanguageLocale": { @@ -16420,7 +16687,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign to which the draft keyword is associated.", "type": "string" }, "matchType": { @@ -16433,15 +16700,15 @@ "bid": { "nullable": true, "format": "double", - "description": "Bid associated with this draft keyword. Applicable to biddable match types only", - "type": "number", - "minimum": 0.02 + "description": "Bid associated with this draft keyword. Applicable to biddable match types only. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", + "type": "number" }, "adGroupId": { - "description": "entity object identifier", + "description": "The identifier of the ad group to which this draft keyword is associated.", "type": "string" }, "keywordText": { + "description": "The draft keyword text.", "type": "string" }, "extendedData": { @@ -16651,7 +16918,7 @@ }, "defaultBid": { "format": "double", - "description": "A bid value for use when no bid is specified for keywords in the ad group.", + "description": "A bid value for use when no bid is specified for keywords in the ad group. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" }, "extendedData": { @@ -16739,6 +17006,7 @@ "campaignNegativeKeywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaignNegativeKeywords.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateCampaignNegativeKeyword" @@ -16806,6 +17074,7 @@ "negativeTargetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of negativeTargeting with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalNegativeTargetingClause" @@ -16874,7 +17143,8 @@ } }, "ImpactMetric": { - "description": "The impacts are given in the same order of suggested bids.", + "nullable": true, + "description": "The impact metrics are given in the same order of suggested bids.\n\nNote: This object is nullable", "type": "object", "properties": { "values": { @@ -17120,7 +17390,7 @@ }, "defaultBid": { "format": "double", - "description": "A bid value for use when no bid is specified for keywords in the ad group.", + "description": "A bid value for use when no bid is specified for keywords in the ad group. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" } }, @@ -17272,6 +17542,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" @@ -17351,6 +17629,7 @@ "adGroups": { "minItems": 0, "maxItems": 100, + "description": "An array of draftAdGroups.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateDraftAdGroup" @@ -17386,7 +17665,7 @@ "bid": { "nullable": true, "format": "double", - "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. This table details the maximum allowable bid (in local currency) for keywords by marketplace:\n| Marketplace | Currency | Min / Max bid for SP |\n| --- | --- | --- |\n| US | USD | 0.02 / 1000 |\n| CA | CAD | 0.02 / 1000 |\n| UK | GBP | 0.02 / 1000 |\n| DE | EUR | 0.02 / 1000 |\n| FR | EUR | 0.02 / 1000 |\n| ES | EUR | 0.02 / 1000 |\n| IT | EUR | 0.02 / 1000 |\n| JP | JPY | 2.0 / 100000 |\n| AU | AUD | 0.10 / 1410 |\n| AE | AED | 0.24 / 184.0 |", + "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" }, "adGroupId": { @@ -17406,7 +17685,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "nativeLanguageKeyword": { @@ -17418,7 +17697,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign to which the keyword is associated.", "type": "string" }, "matchType": { @@ -17429,15 +17708,15 @@ }, "bid": { "format": "double", - "description": "Bid associated with this keyword. Applicable to biddable match types only", - "type": "number", - "minimum": 0.02 + "description": "Bid associated with this keyword. Applicable to biddable match types only. Keywords that do not have bid values in listKeywords will inherit the defaultBid from the adGroup level. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", + "type": "number" }, "adGroupId": { - "description": "entity object identifier", + "description": "The identifier of the ad group to which this keyword is associated.", "type": "string" }, "keywordText": { + "description": "The keyword text.", "type": "string" }, "extendedData": { @@ -17561,6 +17840,7 @@ "campaigns": { "minItems": 0, "maxItems": 100, + "description": "An array of drafts.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateDraftCampaign" @@ -17726,6 +18006,7 @@ "campaignNegativeTargetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of Campaign Negative TargetingClauses.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateCampaignNegativeTargetingClause" @@ -17879,6 +18160,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" }, @@ -17908,7 +18193,7 @@ } }, "SponsoredProductsTargetingExpressionPredicateTypeWithoutOther": { - "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `QUERY_BROAD_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Loose match` target type in the UI, this will show your ad to shoppers who use search terms loosely related to your products.|\n| `QUERY_HIGH_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Close match` target type in the UI, this will show your ad to shoppers who use search terms closely related to your products.|\n| `ASIN_ACCESSORY_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Complements` target type in the UI, this will show your ad to shoppers who view the detail pages of products that complement your product.|\n| `ASIN_SUBSTITUTE_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Substitutes` target type in the UI, this will show your ad to shoppers who use detail pages of products similar to yours.|\n| `ASIN_CATEGORY_SAME_AS` | Negatively Target the same category as the category expressed. |\n| `ASIN_BRAND_SAME_AS` | Target the brand that is the same as the brand expressed. |\n| `ASIN_PRICE_LESS_THAN` | Target a price that is less than the price expressed. |\n| `ASIN_PRICE_BETWEEN` | Target a price that is between the prices expressed. |\n| `ASIN_PRICE_GREATER_THAN` | Target a price that is greater than the price expressed. |\n| `ASIN_REVIEW_RATING_LESS_THAN` | Target a review rating less than the review rating that is expressed. |\n| `ASIN_REVIEW_RATING_BETWEEN` | Target a review rating that is between the review ratings expressed. |\n| `ASIN_REVIEW_RATING_GREATER_THAN` | Target a review rating that is greater than the review rating expressed. |\n| `ASIN_SAME_AS` | Target an ASIN that is the same as the ASIN expressed. |\n| `ASIN_IS_PRIME_SHIPPING_ELIGIBLE` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `ASIN_AGE_RANGE_SAME_AS` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `ASIN_GENRE_SAME_AS` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `ASIN_EXPANDED_FROM` | Target products similar in performance to the ASIN expressed. |\n| `OTHER` | Other Type. |", + "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `QUERY_BROAD_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Loose match` target type in the UI, this will show your ad to shoppers who use search terms loosely related to your products.|\n| `QUERY_HIGH_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Close match` target type in the UI, this will show your ad to shoppers who use search terms closely related to your products.|\n| `ASIN_ACCESSORY_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Complements` target type in the UI, this will show your ad to shoppers who view the detail pages of products that complement your product.|\n| `ASIN_SUBSTITUTE_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Substitutes` target type in the UI, this will show your ad to shoppers who use detail pages of products similar to yours.|\n| `ASIN_CATEGORY_SAME_AS` | Target the category that is the same as the category expressed |\n| `ASIN_BRAND_SAME_AS` | Target the brand that is the same as the brand expressed. |\n| `ASIN_PRICE_LESS_THAN` | Target a price that is less than the price expressed. |\n| `ASIN_PRICE_BETWEEN` | Target a price that is between the prices expressed. |\n| `ASIN_PRICE_GREATER_THAN` | Target a price that is greater than the price expressed. |\n| `ASIN_REVIEW_RATING_LESS_THAN` | Target a review rating less than the review rating that is expressed. |\n| `ASIN_REVIEW_RATING_BETWEEN` | Target a review rating that is between the review ratings expressed. |\n| `ASIN_REVIEW_RATING_GREATER_THAN` | Target a review rating that is greater than the review rating expressed. |\n| `ASIN_SAME_AS` | Target an ASIN that is the same as the ASIN expressed. |\n| `ASIN_IS_PRIME_SHIPPING_ELIGIBLE` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `ASIN_AGE_RANGE_SAME_AS` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `ASIN_GENRE_SAME_AS` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `ASIN_EXPANDED_FROM` | Target products similar in performance to the ASIN expressed. |\n| `OTHER` | Other Type. |", "type": "string", "enum": [ "ASIN_CATEGORY_SAME_AS", @@ -18046,10 +18331,11 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the draft.", "type": "string" }, "name": { + "description": "The name of the draft.", "type": "string" }, "targetingType": { @@ -18103,6 +18389,7 @@ "productAds": { "minItems": 0, "maxItems": 1000, + "description": "An array of ads with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateProductAd" @@ -18167,6 +18454,7 @@ "negativeKeywords": { "minItems": 0, "maxItems": 100, + "description": "An array of negativeKeywords.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateDraftNegativeKeyword" @@ -18238,6 +18526,7 @@ "adGroups": { "minItems": 0, "maxItems": 1000, + "description": "An array of adGroups with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalAdGroup" @@ -18418,6 +18707,7 @@ "adGroups": { "minItems": 0, "maxItems": 1000, + "description": "An array of adGroups with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateAdGroup" @@ -18849,6 +19139,7 @@ "adGroups": { "minItems": 0, "maxItems": 1000, + "description": "An array of adGroups.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateAdGroup" @@ -18916,7 +19207,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifer of the campaign to which the keyword is associated.", "type": "string" }, "matchType": { @@ -18928,15 +19219,15 @@ "bid": { "nullable": true, "format": "double", - "description": "Bid associated with this keyword. Applicable to biddable match types only", - "type": "number", - "minimum": 0.02 + "description": "Bid associated with this keyword. Applicable to biddable match types only. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", + "type": "number" }, "adGroupId": { - "description": "entity object identifier", + "description": "The identifier of the ad group to which this keyword is associated.", "type": "string" }, "keywordText": { + "description": "The keyword text.", "type": "string" } }, @@ -19335,7 +19626,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign.", "type": "string" }, "name": { @@ -19824,6 +20115,7 @@ "keywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of keywords.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateGlobalKeyword" @@ -19834,6 +20126,39 @@ "keywords" ] }, + "CategoryItemWithAsinCountsLoP": { + "type": "object", + "properties": { + "categoryPath": { + "description": "The path of the category, which contains the current category and all parent categories", + "type": "string" + }, + "name": { + "description": "The name of the category", + "type": "string" + }, + "translatedCategoryPath": { + "description": "The translated path of the category, which contains the current category and all parent categories.", + "type": "string" + }, + "asinCounts": { + "description": "The number of asins belonging to the category.", + "$ref": "#/components/schemas/IntegerRange" + }, + "parentCategoryId": { + "description": "The category id of the parent node", + "type": "string" + }, + "id": { + "description": "The category id of the current node", + "type": "string" + }, + "translatedName": { + "description": "The translated name of the category.", + "type": "string" + } + } + }, "GetCategoryRecommendationsForAsinsRequest": { "description": "Request object to retrieve Category Recommendations based on the input ASINs.", "type": "object", @@ -20052,7 +20377,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "state": { @@ -20061,9 +20386,8 @@ "bid": { "nullable": true, "format": "double", - "description": "Bid associated with this keyword. Applicable to biddable match types only", - "type": "number", - "minimum": 0.02 + "description": "Bid associated with this keyword. Applicable to biddable match types only. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", + "type": "number" } }, "required": [ @@ -20154,7 +20478,8 @@ "END_DATE_LATER_THAN_MAXIMUM", "START_DATE_AFTER_END_DATE", "UPDATING_READ_ONLY_START_DATE", - "UPDATING_READ_ONLY_END_DATE" + "UPDATING_READ_ONLY_END_DATE", + "UPDATING_ENDED_CAMPAIGN_WITHOUT_EXTENSION" ] }, "SponsoredProductsGlobalNegativeKeywordFailureResponseItem": { @@ -20194,13 +20519,21 @@ "SpecialEvent": { "properties": { "budgetModifier": { - "description": "The factor used to boost the recommended budget.", + "description": "Deprecated. The factor used to boost the recommended budget.", "type": "number" }, "endDate": { "description": "The end date of the special event in YYYYMMDD format.", "type": "string" }, + "dailyBudget": { + "description": "Recommended daily budget for the new campaign during the special event period.", + "type": "number" + }, + "eventKey": { + "description": "The key of the special event.", + "type": "string" + }, "eventName": { "description": "The name of the special event.", "type": "string" @@ -20208,6 +20541,9 @@ "startDate": { "description": "The start date of the special event in YYYYMMDD format.", "type": "string" + }, + "benchmark": { + "$ref": "#/components/schemas/Benchmark" } } }, @@ -20226,7 +20562,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "state": { @@ -20309,6 +20645,7 @@ "targetingClauses": { "minItems": 0, "maxItems": 100, + "description": "An array of draftTargetingClauses.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateDraftTargetingClause" @@ -20530,6 +20867,7 @@ "productAds": { "minItems": 0, "maxItems": 1000, + "description": "An array of ads with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalProductAd" @@ -20590,6 +20928,7 @@ "targetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of targetingClauses with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalTargetingClause" @@ -20642,15 +20981,12 @@ }, "defaultBid": { "format": "double", - "description": "A bid value for use when no bid is specified for keywords in the ad group.", + "description": "A bid value for use when no bid is specified for keywords in the ad group. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" } }, "required": [ - "adGroupId", - "defaultBid", - "name", - "state" + "adGroupId" ] }, "SponsoredProductsNegativeKeywordAccessErrorSelector": { @@ -20973,6 +21309,7 @@ "campaignNegativeTargetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of Campaign Negative TargetingClauses with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateCampaignNegativeTargetingClause" @@ -21107,7 +21444,7 @@ }, "bid": { "format": "double", - "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. This table details the maximum allowable bid (in local currency) for keywords by marketplace:\n| Marketplace | Currency | Min / Max bid for SP |\n| --- | --- | --- |\n| US | USD | 0.02 / 1000 |\n| CA | CAD | 0.02 / 1000 |\n| UK | GBP | 0.02 / 1000 |\n| DE | EUR | 0.02 / 1000 |\n| FR | EUR | 0.02 / 1000 |\n| ES | EUR | 0.02 / 1000 |\n| IT | EUR | 0.02 / 1000 |\n| JP | JPY | 2.0 / 100000 |\n| AU | AUD | 0.10 / 1410 |\n| AE | AED | 0.24 / 184.0 |", + "description": "The bid for ads sourced using the target. Targets that do not have bid values in listTargetingClauses will inherit the defaultBid from the adGroup level. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" }, "adGroupId": { @@ -21211,6 +21548,7 @@ "campaignNegativeKeywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaignNegativeKeywords with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalCampaignNegativeKeyword" @@ -21365,25 +21703,6 @@ } } }, - "Daily": { - "description": "Daily metrics benchmark.", - "required": [ - "clicks", - "conversions", - "impressions" - ], - "properties": { - "conversions": { - "$ref": "#/components/schemas/Conversions" - }, - "clicks": { - "$ref": "#/components/schemas/Clicks" - }, - "impressions": { - "$ref": "#/components/schemas/Impressions" - } - } - }, "SponsoredProductsTargetingType": { "type": "string", "enum": [ @@ -21467,6 +21786,7 @@ "type": "string" }, "name": { + "description": "The name of the campaign.", "type": "string" }, "targetingType": { @@ -21480,7 +21800,7 @@ }, "startDate": { "format": "date", - "description": "The format of the date is YYYY-MM-DD.", + "description": "Default: today's date. The format of the date is YYYY-MM-DD.", "type": "string" }, "budget": { @@ -21525,6 +21845,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" @@ -21598,6 +21926,7 @@ "campaignNegativeKeywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaignNegativeKeywords with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateCampaignNegativeKeyword" @@ -21614,6 +21943,7 @@ "targetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of targetingClauses.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateTargetingClause" @@ -21764,6 +22094,21 @@ "OTHER" ] }, + "RefinementsLoP": { + "description": "Response object for the POST /sp/targets/category/{categoryId}/refinements endpoint, containing information on Brand Nodes, Age Range Nodes, and Genre Nodes.", + "type": "object", + "properties": { + "ageRanges": { + "$ref": "#/components/schemas/AgeRangesLoP" + }, + "brands": { + "$ref": "#/components/schemas/BrandsLoP" + }, + "genres": { + "$ref": "#/components/schemas/GenresLoP" + } + } + }, "SponsoredProductsCopyCampaignErrorDetail": { "type": "object", "properties": { @@ -21866,7 +22211,7 @@ }, "defaultBid": { "format": "double", - "description": "A bid value for use when no bid is specified for keywords in the ad group.", + "description": "A bid value for use when no bid is specified for keywords in the ad group. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" }, "extendedData": { @@ -21881,7 +22226,7 @@ ] }, "SponsoredProductsEntityState": { - "description": "The current resource state.", + "description": "The current resource state.\n| State | Description |\n| --- | --- |\n| `ENABLED` | Enabled State |\n| `PAUSED` | Paused State |\n| `ARCHIVED` | ARCHIVED State |\n| `ENABLING` | State for Draft Entity Only |\n| `USER_DELETED` | State for Draft Entity Only |\n| `OTHER` | Read Only |", "type": "string", "enum": [ "ENABLED", @@ -22138,6 +22483,7 @@ "negativeKeywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of negativeKeywords with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateGlobalNegativeKeyword" @@ -22465,6 +22811,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" @@ -22776,6 +23130,21 @@ "recommendationType": "BIDS_FOR_NEW_AD_GROUP" } }, + "CategoryRecommendationsWithAsinCountsLoP": { + "description": "Response object for the GetCategoryRecommendationsForAsins API.", + "type": "object", + "properties": { + "categories": { + "description": "List of category recommendations", + "type": "array", + "items": { + "minItems": 0, + "maxItems": 50, + "$ref": "#/components/schemas/CategoryItemWithAsinCountsLoP" + } + } + } + }, "SponsoredProductsListSponsoredProductsKeywordsPreviewResponseContent": { "type": "object", "properties": { @@ -22948,6 +23317,7 @@ "copyCampaignsItems": { "minItems": 0, "maxItems": 1000, + "description": "An array of campaigns.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCopyCampaign" @@ -23421,7 +23791,7 @@ ] }, "SponsoredProductsCreateTargetingExpressionPredicateType": { - "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `ASIN_CATEGORY_SAME_AS` | Negatively Target the same category as the category expressed. |\n| `ASIN_BRAND_SAME_AS` | Target the brand that is the same as the brand expressed. |\n| `ASIN_PRICE_LESS_THAN` | Target a price that is less than the price expressed. |\n| `ASIN_PRICE_BETWEEN` | Target a price that is between the prices expressed. |\n| `ASIN_PRICE_GREATER_THAN` | Target a price that is greater than the price expressed. |\n| `ASIN_REVIEW_RATING_LESS_THAN` | Target a review rating less than the review rating that is expressed. |\n| `ASIN_REVIEW_RATING_BETWEEN` | Target a review rating that is between the review ratings expressed. |\n| `ASIN_REVIEW_RATING_GREATER_THAN` | Target a review rating that is greater than the review rating expressed. |\n| `ASIN_SAME_AS` | Target an ASIN that is the same as the ASIN expressed. |\n| `ASIN_IS_PRIME_SHIPPING_ELIGIBLE` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `ASIN_AGE_RANGE_SAME_AS` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `ASIN_GENRE_SAME_AS` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `ASIN_EXPANDED_FROM` | Target products similar in performance to the ASIN expressed. |", + "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `ASIN_CATEGORY_SAME_AS` | Target the category that is the same as the category expressed. |\n| `ASIN_BRAND_SAME_AS` | Target the brand that is the same as the brand expressed. |\n| `ASIN_PRICE_LESS_THAN` | Target a price that is less than the price expressed. |\n| `ASIN_PRICE_BETWEEN` | Target a price that is between the prices expressed. |\n| `ASIN_PRICE_GREATER_THAN` | Target a price that is greater than the price expressed. |\n| `ASIN_REVIEW_RATING_LESS_THAN` | Target a review rating less than the review rating that is expressed. |\n| `ASIN_REVIEW_RATING_BETWEEN` | Target a review rating that is between the review ratings expressed. |\n| `ASIN_REVIEW_RATING_GREATER_THAN` | Target a review rating that is greater than the review rating expressed. |\n| `ASIN_SAME_AS` | Target an ASIN that is the same as the ASIN expressed. |\n| `ASIN_IS_PRIME_SHIPPING_ELIGIBLE` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `ASIN_AGE_RANGE_SAME_AS` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `ASIN_GENRE_SAME_AS` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `ASIN_EXPANDED_FROM` | Target products similar in performance to the ASIN expressed. |", "type": "string", "enum": [ "ASIN_CATEGORY_SAME_AS", @@ -23458,6 +23828,7 @@ "negativeTargetingClauses": { "minItems": 0, "maxItems": 100, + "description": "An array of negativeTargetingClauses.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateDraftNegativeTargetingClause" @@ -23485,6 +23856,7 @@ "keywords": { "minItems": 0, "maxItems": 1000, + "description": "An array of keywords with updated values.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsUpdateKeyword" @@ -23782,7 +24154,7 @@ } }, "SponsoredProductsCreateOrUpdateBiddingStrategy": { - "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 |", + "description": "The bidding strategy.\n`strategy` is required for create requests if dynamicBidding is provided, but is optional for update requests.\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", "enum": [ "LEGACY_FOR_SALES", @@ -24298,7 +24670,7 @@ "type": "object", "properties": { "keywordId": { - "description": "entity object identifier", + "description": "The identifier of the keyword.", "type": "string" }, "state": { @@ -24348,6 +24720,15 @@ } } }, + "GenresLoP": { + "description": "List of Genres in a language of preference (LoP). Use the POST /sp/targets/category/{categoryId}/refinements endpoint to retrieve Genre Node IDs. Genres are only available for categories related to books.", + "type": "array", + "items": { + "minItems": 0, + "maxItems": 300, + "$ref": "#/components/schemas/GenreLoP" + } + }, "SponsoredProductsDraftCampaignPromotionError": { "type": "object", "properties": { @@ -24420,13 +24801,19 @@ } }, "Benchmark": { - "description": "Similar campaigns' metrics benchmark.", - "required": [ - "daily" - ], + "description": "Forecasted impact metrics for next 7 days or during special days.", "properties": { - "daily": { - "$ref": "#/components/schemas/Daily" + "benchmarkStatus": { + "description": "Specifies the processing status of the benchmark. Success - If all fields in values property (impressions, clicks, conversions) have all non-null values. Failed - If all fields in values property have all null values. Partial - If some of the fields (impressions, clicks, or conversions) in values property have null values.", + "type": "string", + "enum": [ + "success", + "failed", + "partial" + ] + }, + "values": { + "$ref": "#/components/schemas/Values" } } }, @@ -24509,7 +24896,7 @@ }, "defaultBid": { "format": "double", - "description": "A bid value for use when no bid is specified for keywords in the ad group.", + "description": "A bid value for use when no bid is specified for keywords in the ad group. For more information about bid constraints by marketplace, see [bid limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace).", "type": "number" } }, @@ -24524,6 +24911,7 @@ "negativeTargetingClauses": { "minItems": 0, "maxItems": 1000, + "description": "An array of negativeTargeting.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateNegativeTargetingClause" @@ -24580,6 +24968,7 @@ "keywords": { "minItems": 0, "maxItems": 100, + "description": "An array of draft keywords.", "type": "array", "items": { "$ref": "#/components/schemas/SponsoredProductsCreateDraftKeyword" @@ -24917,7 +25306,7 @@ "type": "string" }, "campaignId": { - "description": "entity object identifier", + "description": "The identifier of the campaign.", "type": "string" }, "name": { @@ -25110,6 +25499,7 @@ } }, "SponsoredProductsCreateOrUpdateDynamicBidding": { + "description": "Specifies bidding controls. DynamicBidding is optional for both Create and Update requests.\nFor Create Campaign requests, if you don't specify dynamicBidding, default strategy of `LEGACY_FOR_SALES` will be applied.", "type": "object", "properties": { "placementBidding": { @@ -25121,13 +25511,10 @@ "strategy": { "$ref": "#/components/schemas/SponsoredProductsCreateOrUpdateBiddingStrategy" } - }, - "required": [ - "strategy" - ] + } }, "SponsoredProductsTargetingExpressionPredicateType": { - "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `QUERY_BROAD_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Loose match` target type in the UI, this will show your ad to shoppers who use search terms loosely related to your products.|\n| `QUERY_HIGH_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Close match` target type in the UI, this will show your ad to shoppers who use search terms closely related to your products.|\n| `ASIN_ACCESSORY_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Complements` target type in the UI, this will show your ad to shoppers who view the detail pages of products that complement your product.|\n| `ASIN_SUBSTITUTE_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Substitutes` target type in the UI, this will show your ad to shoppers who use detail pages of products similar to yours.|\n| `ASIN_CATEGORY_SAME_AS` | Negatively Target the same category as the category expressed. |\n| `ASIN_BRAND_SAME_AS` | Target the brand that is the same as the brand expressed. |\n| `ASIN_PRICE_LESS_THAN` | Target a price that is less than the price expressed. |\n| `ASIN_PRICE_BETWEEN` | Target a price that is between the prices expressed. |\n| `ASIN_PRICE_GREATER_THAN` | Target a price that is greater than the price expressed. |\n| `ASIN_REVIEW_RATING_LESS_THAN` | Target a review rating less than the review rating that is expressed. |\n| `ASIN_REVIEW_RATING_BETWEEN` | Target a review rating that is between the review ratings expressed. |\n| `ASIN_REVIEW_RATING_GREATER_THAN` | Target a review rating that is greater than the review rating expressed. |\n| `ASIN_SAME_AS` | Target an ASIN that is the same as the ASIN expressed. |\n| `ASIN_IS_PRIME_SHIPPING_ELIGIBLE` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `ASIN_AGE_RANGE_SAME_AS` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `ASIN_GENRE_SAME_AS` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `ASIN_EXPANDED_FROM` | Target products similar in performance to the ASIN expressed. |\n| `OTHER` | Other Type. |", + "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `QUERY_BROAD_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Loose match` target type in the UI, this will show your ad to shoppers who use search terms loosely related to your products.|\n| `QUERY_HIGH_REL_MATCHES` | Auto Targeting - cannot be manually created - corresponds to the `Close match` target type in the UI, this will show your ad to shoppers who use search terms closely related to your products.|\n| `ASIN_ACCESSORY_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Complements` target type in the UI, this will show your ad to shoppers who view the detail pages of products that complement your product.|\n| `ASIN_SUBSTITUTE_RELATED` | Auto Targeting - cannot be manually created - corresponds to the `Substitutes` target type in the UI, this will show your ad to shoppers who use detail pages of products similar to yours.|\n| `ASIN_CATEGORY_SAME_AS` | Target the category that is the same as the category expressed |\n| `ASIN_BRAND_SAME_AS` | Target the brand that is the same as the brand expressed. |\n| `ASIN_PRICE_LESS_THAN` | Target a price that is less than the price expressed. |\n| `ASIN_PRICE_BETWEEN` | Target a price that is between the prices expressed. |\n| `ASIN_PRICE_GREATER_THAN` | Target a price that is greater than the price expressed. |\n| `ASIN_REVIEW_RATING_LESS_THAN` | Target a review rating less than the review rating that is expressed. |\n| `ASIN_REVIEW_RATING_BETWEEN` | Target a review rating that is between the review ratings expressed. |\n| `ASIN_REVIEW_RATING_GREATER_THAN` | Target a review rating that is greater than the review rating expressed. |\n| `ASIN_SAME_AS` | Target an ASIN that is the same as the ASIN expressed. |\n| `ASIN_IS_PRIME_SHIPPING_ELIGIBLE` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `ASIN_AGE_RANGE_SAME_AS` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `ASIN_GENRE_SAME_AS` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `ASIN_EXPANDED_FROM` | Target products similar in performance to the ASIN expressed. |\n| `OTHER` | Other Type. |", "type": "string", "enum": [ "ASIN_CATEGORY_SAME_AS", diff --git a/docs/schemas/sponsored-products.json b/docs/schemas/sponsored-products.json index efa6759..e34799f 100644 --- a/docs/schemas/sponsored-products.json +++ b/docs/schemas/sponsored-products.json @@ -3,7 +3,7 @@ "info": { "version": "2.0", "title": "Amazon Ads API - Sponsored Products", - "description": "Use the Amazon Ads API for Sponsored Products for campaign, ad group, keyword, negative keyword, and product ad management operations. For more information about Sponsored Products, see the [Sponsored Products Support Center](https://advertising.amazon.com/help?entityId=ENTITY3CWETCZD9HEG2#GWGFKPEWVWG2CLUJ). For onboarding information, see the [account setup](setting-up/account-setup) topic.

**Note**: This contract contains endpoints with upcoming planned deprecations. For more information on the latest versions and migration details, see [Deprecations](info/deprecations).

", + "description": "Use the Amazon Ads API for Sponsored Products for campaign, ad group, keyword, negative keyword, and product ad management operations. For more information about Sponsored Products, see the [Sponsored Products Support Center](https://advertising.amazon.com/help?entityId=ENTITY3CWETCZD9HEG2#GWGFKPEWVWG2CLUJ). For onboarding information, see the [account setup](guides/onboarding/overview) topic.

**Note**: This contract contains endpoints with upcoming planned deprecations. For more information on the latest versions and migration details, see [Deprecations](release-notes/deprecations).

", "contact": { "name": "Amazon Ads API Support", "url": "https://amzn-clicks.atlassian.net/servicedesk/customer/portals" @@ -25,39 +25,12 @@ } ], "tags": [ - { - "name": "Campaigns" - }, - { - "name": "Ad groups" - }, { "name": "Bid recommendations" }, - { - "name": "Keywords" - }, - { - "name": "Negative keywords" - }, - { - "name": "Campaign negative keywords" - }, { "name": "Suggested keywords" }, - { - "name": "Product ads" - }, - { - "name": "Product targeting" - }, - { - "name": "Negative product targeting" - }, - { - "name": "Reports" - }, { "name": "Snapshots" } @@ -68,109 +41,66 @@ } ], "paths": { - "/v2/sp/campaigns": { - "post": { + "/v2/sp/adGroups/{adGroupId}/bidRecommendations": { + "get": { "tags": [ - "Campaigns" + "Bid recommendations" ], - "operationId": "createCampaigns", - "summary": "Creates one or more campaigns. [PLANNED DEPRECATION 6/30/2023]", + "operationId": "getAdGroupBidRecommendations", + "summary": "Gets a bid recommendation for an ad group. [PLANNED DEPRECATION 9/30/2023]", + "description": "**Deprecation notice: This endpoint will be deprecated on September 30, 2023. Use [theme-based bid recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/ThemeBasedBidRecommendation/GetThemeBasedBidRecommendationForAdGroup_v1) going forward.**", "parameters": [ { "$ref": "#/components/parameters/clientHeader" }, { "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of campaigns.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "maxItems": 100, - "items": { - "$ref": "#/components/schemas/CreateCampaign" - } - } + }, + { + "name": "adGroupId", + "in": "path", + "description": "The identifier of an existing ad group.", + "required": true, + "schema": { + "type": "number" } } - }, + ], "responses": { - "207": { + "200": { "description": "Success.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignResponse" - } + "$ref": "#/components/schemas/AdGroupBidRecommendationsResponse" } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Campaigns" - ], - "operationId": "updateCampaigns", - "summary": "Updates one or more campaigns. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" + "400": { + "$ref": "#/components/responses/BadRequest" }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of campaigns with updated values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "maxItems": 100, - "items": { - "$ref": "#/components/schemas/UpdateCampaign" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status. An array of campaign response objects reflecting the same order as the request.", + "404": { + "description": "Either the specified ad group identifier was not found, or the specified ad group was found but no associated bid was found.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignResponse" - } + "$ref": "#/components/schemas/Error" } } } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" } } - }, + } + }, + "/v2/sp/keywords/{keywordId}/bidRecommendations": { "get": { "tags": [ - "Campaigns" + "Bid recommendations" ], - "operationId": "listCampaigns", - "summary": "Gets an array of campaigns. [PLANNED DEPRECATION 6/30/2023]", + "operationId": "getKeywordBidRecommendations", + "summary": "Gets a bid recommendation for a keyword. [PLANNED DEPRECATION 9/30/2023]", + "description": "**Deprecation notice: This endpoint will be deprecated on September 30, 2023. Use [theme-based bid recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/ThemeBasedBidRecommendation/GetThemeBasedBidRecommendationForAdGroup_v1) going forward.**", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -179,22 +109,13 @@ "$ref": "#/components/parameters/profileHeader" }, { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/name" - }, - { - "$ref": "#/components/parameters/portfolioIdFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" + "name": "keywordId", + "in": "path", + "description": "The identifier of an existing keyword.", + "required": true, + "schema": { + "type": "number" + } } ], "responses": { @@ -203,73 +124,70 @@ "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Campaign" - } + "$ref": "#/components/schemas/KeywordBidRecommendationsResponse" } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" + "400": { + "$ref": "#/components/responses/BadRequest" } } } }, - "/v2/sp/campaigns/{campaignId}": { - "get": { + "/v2/sp/keywords/bidRecommendations": { + "post": { "tags": [ - "Campaigns" + "Bid recommendations" ], - "operationId": "getCampaign", - "summary": "Gets a campaign specified by identifier. [PLANNED DEPRECATION 6/30/2023]", + "operationId": "createKeywordBidRecommendations", + "summary": "Gets bid recommendations for keywords. [PLANNED DEPRECATION 9/30/2023]", + "description": "**Deprecation notice: This endpoint will be deprecated on September 30, 2023. Use [theme-based bid recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/ThemeBasedBidRecommendation/GetThemeBasedBidRecommendationForAdGroup_v1) going forward.**", "parameters": [ { "$ref": "#/components/parameters/clientHeader" }, { "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "campaignId", - "in": "path", - "description": "The identifier of an existing campaign.", - "required": true, - "schema": { - "type": "number" - } } ], + "requestBody": { + "description": "An array of keyword bid recommendation objects.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/KeywordBidRecommendationsData" + } + } + } + }, "responses": { - "200": { - "description": "Success.", + "207": { + "description": "Multi-status.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Campaign" + "$ref": "#/components/schemas/BidRecommendationsResponse" } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" + "400": { + "$ref": "#/components/responses/BadRequest" }, "404": { "$ref": "#/components/responses/NotFound" } } - }, - "delete": { + } + }, + "/v2/sp/adGroups/{adGroupId}/suggested/keywords": { + "get": { "tags": [ - "Campaigns" + "Suggested keywords" ], - "operationId": "archiveCampaign", - "summary": "Archives a campaign. [PLANNED DEPRECATION 6/30/2023]", - "description": "Sets the campaign status to `archived`. Archived entities cannot be made active again. See [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes#Archiving) for more information.", + "operationId": "getAdGroupSuggestedKeywords", + "summary": "Gets suggested keywords for the specified ad group.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -278,13 +196,13 @@ "$ref": "#/components/parameters/profileHeader" }, { - "name": "campaignId", - "in": "path", - "description": "The identifier of an existing campaign.", - "required": true, - "schema": { - "type": "number" - } + "$ref": "#/components/parameters/adGroupId" + }, + { + "$ref": "#/components/parameters/maxNumSuggestions" + }, + { + "$ref": "#/components/parameters/adStateFilter" } ], "responses": { @@ -293,13 +211,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CampaignResponse" + "$ref": "#/components/schemas/AdGroupSuggestedKeywordsResponse" } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" + "400": { + "$ref": "#/components/responses/ResourceNotFound" }, "404": { "$ref": "#/components/responses/NotFound" @@ -307,13 +225,13 @@ } } }, - "/v2/sp/campaigns/extended": { + "/v2/sp/adGroups/{adGroupId}/suggested/keywords/extended": { "get": { "tags": [ - "Campaigns" + "Suggested keywords" ], - "operationId": "listCampaignsEx", - "summary": "Gets an array of campaigns with extended data fields. [PLANNED DEPRECATION 6/30/2023]", + "operationId": "getAdGroupSuggestedKeywordsEx", + "summary": "Gets suggested keywords with extended data for the specified ad group.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -322,22 +240,26 @@ "$ref": "#/components/parameters/profileHeader" }, { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/stateFilter" + "$ref": "#/components/parameters/adGroupId" }, { - "$ref": "#/components/parameters/name" + "$ref": "#/components/parameters/maxNumSuggestions" }, { - "$ref": "#/components/parameters/portfolioIdFilter" + "name": "suggestBids", + "in": "query", + "description": "Set to `yes` to include a suggest bid for the suggested keyword in the response. Otherwise, set to `no`.", + "schema": { + "type": "string", + "default": "no", + "enum": [ + "yes", + "no" + ] + } }, { - "$ref": "#/components/parameters/campaignIdFilter" + "$ref": "#/components/parameters/adStateFilter" } ], "responses": { @@ -348,14 +270,14 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/CampaignEx" + "$ref": "#/components/schemas/AdGroupSuggestedKeywordsResponseEx" } } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" + "400": { + "$ref": "#/components/responses/InvalidQueryParam" }, "404": { "$ref": "#/components/responses/NotFound" @@ -363,13 +285,14 @@ } } }, - "/v2/sp/campaigns/extended/{campaignId}": { + "/v2/sp/asins/{asinValue}/suggested/keywords": { "get": { "tags": [ - "Campaigns" + "Suggested keywords" ], - "operationId": "getCampaignEx", - "summary": "Gets a campaign with extended data fields. [PLANNED DEPRECATION 6/30/2023]", + "operationId": "getAsinSuggestedKeywords", + "summary": "Gets suggested keywords for the specified ASIN.", + "description": "Suggested keywords are returned in an array ordered by descending effectiveness.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -378,13 +301,16 @@ "$ref": "#/components/parameters/profileHeader" }, { - "name": "campaignId", + "name": "asinValue", "in": "path", - "description": "The identifier of an existing campaign.", "required": true, + "description": "An ASIN.", "schema": { - "type": "number" + "type": "string" } + }, + { + "$ref": "#/components/parameters/maxNumSuggestions" } ], "responses": { @@ -393,27 +319,25 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CampaignEx" + "$ref": "#/components/schemas/GetAsinSuggestedKeywordsResponse" } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" + "400": { + "$ref": "#/components/responses/InvalidQueryParam" } } } }, - "/v2/sp/adGroups": { + "/v2/sp/asins/suggested/keywords": { "post": { "tags": [ - "Ad groups" + "Suggested keywords" ], - "operationId": "createAdGroups", - "summary": "Creates one or more ad groups. [PLANNED DEPRECATION 6/30/2023]", + "operationId": "bulkGetAsinSuggestedKeywords", + "summary": "Gets suggested keyword for a specified list of ASINs.", + "description": "Suggested keywords are returned in an array ordered by descending effectiveness.", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -423,2893 +347,80 @@ } ], "requestBody": { - "description": "An array of ad groups.", "content": { "application/json": { "schema": { - "type": "array", - "minItems": 0, - "maxItems": 100, - "items": { - "$ref": "#/components/schemas/CreateAdGroup" + "type": "object", + "properties": { + "asins": { + "description": "A list of ASINs.", + "type": "array", + "items": { + "type": "string" + } + }, + "maxNumSuggestions": { + "description": "The maximum number of suggested keywords in the response.", + "type": "integer", + "minItems": 1, + "maxItems": 1000, + "default": 100 + } } } } } }, "responses": { - "207": { - "description": "Multi-status.", + "200": { + "description": "Success.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroupResponse" - } + "$ref": "#/components/schemas/BulkGetAsinSuggestedKeywordsResponse" } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Ad groups" - ], - "operationId": "updateAdGroups", - "summary": "Updates one or more ad groups. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of ad groups that have updated field values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "maxItems": 100, - "items": { - "$ref": "#/components/schemas/UpdateAdGroup" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroupResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "get": { - "tags": [ - "Ad groups" - ], - "operationId": "getAdGroups", - "summary": "Gets one or more ad groups. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/campaignType" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/name" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroup" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/adGroups/{adGroupId}": { - "get": { - "tags": [ - "Ad groups" - ], - "operationId": "getAdGroup", - "summary": "Gets an ad group specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "adGroupId", - "in": "path", - "description": "The identifier of an existing ad group.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdGroup" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "delete": { - "tags": [ - "Ad groups" - ], - "operationId": "archiveAdGroup", - "summary": "Archives an ad group. [PLANNED DEPRECATION 6/30/2023]", - "description": "Sets the ad group status to `archived`. Archived entities cannot be made active again. See developer notes for more information.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "adGroupId", - "in": "path", - "description": "The identifier of an existing ad group.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdGroupResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/adGroups/extended": { - "get": { - "tags": [ - "Ad groups" - ], - "operationId": "getAdGroupsEx", - "summary": "Gets ad groups that have extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/campaignType" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/name" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroupEx" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/adGroups/extended/{adGroupId}": { - "get": { - "tags": [ - "Ad groups" - ], - "operationId": "getAdGroupEx", - "summary": "Gets an ad group that has extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "adGroupId", - "in": "path", - "description": "The identifier of an existing ad group.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdGroupEx" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/adGroups/{adGroupId}/bidRecommendations": { - "get": { - "tags": [ - "Bid recommendations" - ], - "operationId": "getAdGroupBidRecommendations", - "summary": "Gets a bid recommendation for an ad group. [PLANNED DEPRECATION 12/31/2022]", - "description": "**Deprecation notice: This endpoint will be deprecated on December 31, 2022. Use [theme-based bid recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/ThemeBasedBidRecommendation/GetThemeBasedBidRecommendationForAdGroup_v1) going forward.**", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "adGroupId", - "in": "path", - "description": "The identifier of an existing ad group.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdGroupBidRecommendationsResponse" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, - "404": { - "description": "Either the specified ad group identifier was not found, or the specified ad group was found but no associated bid was found.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } - }, - "/v2/sp/keywords/{keywordId}/bidRecommendations": { - "get": { - "tags": [ - "Bid recommendations" - ], - "operationId": "getKeywordBidRecommendations", - "summary": "Gets a bid recommendation for a keyword. [PLANNED DEPRECATION 12/31/2022]", - "description": "**Deprecation notice: This endpoint will be deprecated on December 31, 2022. Use [theme-based bid recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/ThemeBasedBidRecommendation/GetThemeBasedBidRecommendationForAdGroup_v1) going forward.**", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeywordBidRecommendationsResponse" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - } - } - } - }, - "/v2/sp/keywords/bidRecommendations": { - "post": { - "tags": [ - "Bid recommendations" - ], - "operationId": "createKeywordBidRecommendations", - "summary": "Gets bid recommendations for keywords. [PLANNED DEPRECATION 12/31/2022]", - "description": "**Deprecation notice: This endpoint will be deprecated on December 31, 2022. Use [theme-based bid recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/ThemeBasedBidRecommendation/GetThemeBasedBidRecommendationForAdGroup_v1) going forward.**", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of keyword bid recommendation objects.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeywordBidRecommendationsData" - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BidRecommendationsResponse" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/keywords/{keywordId}": { - "get": { - "tags": [ - "Keywords" - ], - "operationId": "getKeyword", - "summary": "Gets a keyword specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing keyword.", - "required": true, - "schema": { - "type": "number" - } - }, - { - "name": "locale", - "in": "query", - "description": "The locale preference of the advertiser.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Keyword" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "delete": { - "tags": [ - "Keywords" - ], - "operationId": "archiveKeyword", - "summary": "Archives a keyword. [PLANNED DEPRECATION 6/30/2023]", - "description": "Set the status of the specified keyword to `archived`. Note that once the status for a keyword is set to `archived` it cannot be changed.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeywordResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/keywords/extended/{keywordId}": { - "get": { - "tags": [ - "Keywords" - ], - "operationId": "getKeywordEx", - "summary": "Gets a keyword with extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing keyword.", - "required": true, - "schema": { - "type": "number" - } - }, - { - "name": "locale", - "in": "query", - "description": "The locale preference of the advertiser.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeywordEx" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/keywords/extended": { - "get": { - "tags": [ - "Keywords" - ], - "operationId": "listKeywordsEx", - "summary": "Gets a list of keywords that have extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/matchTypeFilter" - }, - { - "$ref": "#/components/parameters/keywordText" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/keywordIdFilter" - }, - { - "$ref": "#/components/parameters/locale" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeywordEx" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/keywords": { - "get": { - "tags": [ - "Keywords" - ], - "operationId": "listKeywords", - "summary": "Gets one or more keywords. [PLANNED DEPRECATION 6/30/2023]", - "description": "Gets a list of keywords.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/matchTypeFilter" - }, - { - "$ref": "#/components/parameters/keywordText" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/keywordIdFilter" - }, - { - "$ref": "#/components/parameters/locale" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Keyword" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "post": { - "tags": [ - "Keywords" - ], - "operationId": "createKeywords", - "summary": "Creates one or more keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of keyword objects.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/CreateKeyword" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeywordResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Keywords" - ], - "operationId": "updateKeywords", - "summary": "Updates one or more keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of update keyword objects.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/UpdateKeyword" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeywordResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/negativeKeywords/{keywordId}": { - "get": { - "tags": [ - "Negative keywords" - ], - "operationId": "getNegativeKeyword", - "summary": "Gets a negative keyword specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing negative keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NegativeKeyword" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "delete": { - "tags": [ - "Negative keywords" - ], - "operationId": "archiveNegativeKeyword", - "summary": "Archives a negative keyword. [PLANNED DEPRECATION 6/30/2023]", - "description": "Set the status of the specified negative keyword to `archived`. Note that once the status for a keyword is set to `archived` it cannot be changed.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing negative keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NegativeKeywordResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/negativeKeywords/extended/{keywordId}": { - "get": { - "tags": [ - "Negative keywords" - ], - "operationId": "getNegativeKeywordEx", - "summary": "Gets a negative keyword that has extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing negative keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NegativeKeywordEx" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/negativeKeywords/extended": { - "get": { - "tags": [ - "Negative keywords" - ], - "operationId": "listNegativeKeywordsEx", - "summary": "Gets a list of negative keywords that have extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/negativeMatchTypeFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordText" - }, - { - "$ref": "#/components/parameters/negativeStateFilter" - }, - { - "$ref": "#/components/parameters/negativeCampaignIdFilter" - }, - { - "$ref": "#/components/parameters/negativeAdGroupIdFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeKeywordEx" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/negativeKeywords": { - "get": { - "tags": [ - "Negative keywords" - ], - "operationId": "listNegativeKeywords", - "summary": "Gets a list of negative keyword objects. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/negativeMatchTypeFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordText" - }, - { - "$ref": "#/components/parameters/negativeStateFilter" - }, - { - "$ref": "#/components/parameters/negativeCampaignIdFilter" - }, - { - "$ref": "#/components/parameters/negativeAdGroupIdFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeKeyword" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "post": { - "tags": [ - "Negative keywords" - ], - "operationId": "createNegativeKeywords", - "summary": "Creates one or more negative keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of negative keyword objects.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/CreateNegativeKeyword" - } - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeKeywordResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Negative keywords" - ], - "operationId": "updateNegativeKeywords", - "summary": "Updates one or more negative keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array negative keywords with updated values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/UpdateNegativeKeyword" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeKeywordResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/campaignNegativeKeywords/{keywordId}": { - "get": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "getCampaignNegativeKeyword", - "summary": "Gets a campaign negative keyword specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing campaign negative keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignNegativeKeyword" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "delete": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "archiveCampaignNegativeKeyword", - "summary": "Archives a campaign negative keyword. [PLANNED DEPRECATION 6/30/2023]", - "description": "Set the status of the specified campaign negative keyword to `archived`. Note that once the status for a keyword is set to `archived` it cannot be changed.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing campaign negative keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignNegativeKeywordResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/campaignNegativeKeywords/extended/{keywordId}": { - "get": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "getCampaignNegativeKeywordEx", - "summary": "Gets a campaign negative keyword that has extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "keywordId", - "in": "path", - "description": "The identifier of an existing campaign negative keyword.", - "required": true, - "schema": { - "type": "number" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignNegativeKeywordEx" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/campaignNegativeKeywords/extended": { - "get": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "listCampaignNegativeKeywordsEx", - "summary": "Gets a list of campaign negative keywords that have extended data fields. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/negativeMatchTypeFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordText" - }, - { - "$ref": "#/components/parameters/negativeCampaignIdFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignNegativeKeywordEx" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/campaignNegativeKeywords": { - "get": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "listCampaignNegativeKeywords", - "summary": "Gets a list of campaign negative keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/negativeMatchTypeFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordText" - }, - { - "$ref": "#/components/parameters/negativeCampaignIdFilter" - }, - { - "$ref": "#/components/parameters/negativeKeywordIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignNegativeKeyword" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "post": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "createCampaignNegativeKeywords", - "summary": "Creates one or more campaign negative keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of campaign negative keyword objects.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/CreateCampaignNegativeKeyword" - } - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignNegativeKeywordResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Campaign negative keywords" - ], - "operationId": "updateCampaignNegativeKeywords", - "summary": "Updates one or more campaign negative keywords. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "An array of campaign negative keywords with updated values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/UpdateCampaignNegativeKeyword" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignNegativeKeywordResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/adGroups/{adGroupId}/suggested/keywords": { - "get": { - "tags": [ - "Suggested keywords" - ], - "operationId": "getAdGroupSuggestedKeywords", - "summary": "Gets suggested keywords for the specified ad group.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/adGroupId" - }, - { - "$ref": "#/components/parameters/maxNumSuggestions" - }, - { - "$ref": "#/components/parameters/adStateFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdGroupSuggestedKeywordsResponse" - } - } - } - }, - "400": { - "$ref": "#/components/responses/ResourceNotFound" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/adGroups/{adGroupId}/suggested/keywords/extended": { - "get": { - "tags": [ - "Suggested keywords" - ], - "operationId": "getAdGroupSuggestedKeywordsEx", - "summary": "Gets suggested keywords with extended data for the specified ad group.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/adGroupId" - }, - { - "$ref": "#/components/parameters/maxNumSuggestions" - }, - { - "name": "suggestBids", - "in": "query", - "description": "Set to `yes` to include a suggest bid for the suggested keyword in the response. Otherwise, set to `no`.", - "schema": { - "type": "string", - "default": "no", - "enum": [ - "yes", - "no" - ] - } - }, - { - "$ref": "#/components/parameters/adStateFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdGroupSuggestedKeywordsResponseEx" - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/InvalidQueryParam" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/asins/{asinValue}/suggested/keywords": { - "get": { - "tags": [ - "Suggested keywords" - ], - "operationId": "getAsinSuggestedKeywords", - "summary": "Gets suggested keywords for the specified ASIN.", - "description": "Suggested keywords are returned in an array ordered by descending effectiveness.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "asinValue", - "in": "path", - "required": true, - "description": "An ASIN.", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/maxNumSuggestions" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetAsinSuggestedKeywordsResponse" - } - } - } - }, - "400": { - "$ref": "#/components/responses/InvalidQueryParam" - } - } - } - }, - "/v2/sp/asins/suggested/keywords": { - "post": { - "tags": [ - "Suggested keywords" - ], - "operationId": "bulkGetAsinSuggestedKeywords", - "summary": "Gets suggested keyword for a specified list of ASINs.", - "description": "Suggested keywords are returned in an array ordered by descending effectiveness.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "asins": { - "description": "A list of ASINs.", - "type": "array", - "items": { - "type": "string" - } - }, - "maxNumSuggestions": { - "description": "The maximum number of suggested keywords in the response.", - "type": "integer", - "minItems": 1, - "maxItems": 1000, - "default": 100 - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkGetAsinSuggestedKeywordsResponse" - } - } - } - }, - "400": { - "$ref": "#/components/responses/InvalidQueryParam" - } - } - } - }, - "/v2/sp/productAds/{adId}": { - "get": { - "tags": [ - "Product ads" - ], - "operationId": "getProductAd", - "summary": "Gets a product ad specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/adId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductAd" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "delete": { - "tags": [ - "Product ads" - ], - "operationId": "archiveProductAd", - "summary": "Archives a product ad. [PLANNED DEPRECATION 6/30/2023]", - "description": "Sets the state of a specified product ad to `archived`. Note that once the state is set to `archived` it cannot be changed.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/adId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductAdResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/productAds": { - "get": { - "tags": [ - "Product ads" - ], - "operationId": "listProductAds", - "summary": "Gets a list of product ads filtered by specified criteria. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/adIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductAd" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "post": { - "tags": [ - "Product ads" - ], - "operationId": "CreateProductAds", - "summary": "Creates one or more product ads. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of product ads for creation. Note that the `SKU` field is used by sellers and the `ASIN` field is used by vendors.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/CreateProductAd" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "description": "The list of product ads. Note these may not be the same order as the request.", - "items": { - "$ref": "#/components/schemas/ProductAdResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Product ads" - ], - "operationId": "updateProductAds", - "summary": "Updates one or more product ads specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of product ad objects with updated values for the `state` field.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "$ref": "#/components/schemas/UpdateProductAd" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status. A list of product ad objects with updated fields, in the same order as the list in the request body.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductAdResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/productAds/extended/{adId}": { - "get": { - "tags": [ - "Product ads" - ], - "operationId": "getProductAdEx", - "summary": "Gets extended data for a product ad specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/adId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductAdEx" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/productAds/extended": { - "get": { - "tags": [ - "Product ads" - ], - "operationId": "listProductAdsEx", - "summary": "Gets extended data for a list of product ads filtered by specified criteria. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/adIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductAdEx" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/targets/bidRecommendations": { - "post": { - "tags": [ - "Bid recommendations" - ], - "operationId": "getBidRecommendations", - "summary": "Gets a list of bid recommendations for keyword, product, or auto targeting expressions.", - "requestBody": { - "description": "An ad group identifier and list of associated targeting expressions for which to generate bid recommendations. Note that targeting expressions are required to be of the same type. That is, all targeting expressions in the list must be one of **keyword**, **product**, or **auto** target types.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "adGroupId": { - "description": "The ad group identifier.", - "type": "number" - }, - "expressions": { - "description": "The list of targeting expressions.", - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingExpressionPredicate" - } - } - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "adGroupId": { - "description": "The ad group identifier.", - "type": "number" - }, - "recommendations": { - "description": "The list of recommended bids with associated targeting expressions.", - "type": "array", - "items": { - "type": "object", - "properties": { - "suggestedBid": { - "$ref": "#/components/schemas/SuggestedBid" - }, - "expression": { - "$ref": "#/components/schemas/TargetingExpressionPredicate" - }, - "code": { - "description": "The response code.", - "type": "string", - "enum": [ - "SUCCESS", - "INVALID_ARGUMENT", - "NOT_FOUND", - "INTERNAL_ERROR", - "SERVER_IS_BUSY", - "UNAUTHORIZED" - ] - } - } - } - } - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - } - } - } - }, - "/v2/sp/targets": { - "post": { - "tags": [ - "Product targeting" - ], - "operationId": "createTargetingClauses", - "summary": "Creates one or more targeting expressions. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of targeting clauses.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateTargetingClause" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingClauseResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Product targeting" - ], - "operationId": "updateTargetingClause", - "summary": "Updates one or more targeting clauses. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of targeting clauses with updated values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UpdateTargetingClause" - } - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingClauseResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "get": { - "tags": [ - "Product targeting" - ], - "operationId": "listTargetingClauses", - "summary": "Gets a list of targeting clauses filtered by specified criteria. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/targetIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingClause" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/targets/{targetId}": { - "get": { - "tags": [ - "Product targeting" - ], - "operationId": "getTargetingClause", - "summary": "Get a targeting clause specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/targetId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TargetingClause" - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - }, - "delete": { - "tags": [ - "Product targeting" - ], - "operationId": "archiveTargetingClause", - "summary": "Archives a targeting clause. [PLANNED DEPRECATION 6/30/2023]", - "description": "Set the `status` of a targeting clause to `archived`. Note that once a targeting clause `status` is set to `archived`, it cannot be changed.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/targetId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TargetingClauseResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/targets/extended": { - "get": { - "tags": [ - "Product targeting" - ], - "operationId": "listTargetingClausesEx", - "summary": "Gets a list of targeting clauses filtered by specified criteria. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/stateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/targetIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetingClauseEx" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/targets/extended/{targetId}": { - "get": { - "tags": [ - "Product targeting" - ], - "operationId": "getTargetingClauseEx", - "summary": "Get a targeting clause specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/targetId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TargetingClauseEx" - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/targets/productRecommendations": { - "post": { - "tags": [ - "Product targeting" - ], - "operationId": "createTargetRecommendations", - "summary": "Gets a list of recommended products for targeting. [PLANNED DEPRECATION 2/28/2023]", - "description": "**Deprecation notice: This endpoint will be deprecated on February 28, 2023. Use [version 3 targeting recommendations](/API/docs/en-us/sponsored-products/3-0/openapi/prod#/Product%20Recommendation%20Service/getProductRecommendations) going forward.**", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of ASINs.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "pageSize": { - "description": "The number or recommendations returned in a single page.", - "type": "number" - }, - "pageNumber": { - "description": "The page number in the result set to return.", - "type": "number" - }, - "asins": { - "description": "A list of ASINs.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductRecommendationsResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/negativeTargets": { - "post": { - "tags": [ - "Negative product targeting" - ], - "operationId": "createNegativeTargetingClauses", - "summary": "Creates one ore more negative targeting expressions. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of negative targeting clauses.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateNegativeTargetingClause" - } - } - } - } - }, - "responses": { - "207": { - "description": "Multi-status.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeTargetingClauseResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "put": { - "tags": [ - "Negative product targeting" - ], - "operationId": "updateNegativeTargetingClause", - "summary": "Updates one or more negative targeting clauses. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - } - ], - "requestBody": { - "description": "A list of negative targeting clauses with updated values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UpdateNegativeTargetingClause" - } - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeTargetingClauseResponse" - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "get": { - "tags": [ - "Negative product targeting" - ], - "operationId": "listNegativeTargetingClauses", - "summary": "Gets a list of negative targeting clauses filtered by specified criteria. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/negativeStateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/targetIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeTargetingClause" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/negativeTargets/{targetId}": { - "get": { - "tags": [ - "Negative product targeting" - ], - "operationId": "getNegativeTargetingClause", - "summary": "Get a negative targeting clause specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/targetId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NegativeTargetingClause" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - }, - "delete": { - "tags": [ - "Negative product targeting" - ], - "operationId": "archiveNegativeTargetingClause", - "summary": "Archives a negative targeting clause. [PLANNED DEPRECATION 6/30/2023]", - "description": "Set the `status` of a negative targeting clause to `archived`. Note that once a negative targeting clause `status` is set to `archived`, it cannot be changed.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/targetId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NegativeTargetingClauseResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "/v2/sp/negativeTargets/extended": { - "get": { - "tags": [ - "Negative product targeting" - ], - "operationId": "listNegativeTargetingClausesEx", - "summary": "Gets a list of negative targeting clauses filtered by specified criteria. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/startIndex" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "$ref": "#/components/parameters/negativeStateFilter" - }, - { - "$ref": "#/components/parameters/campaignIdFilter" - }, - { - "$ref": "#/components/parameters/adGroupIdFilter" - }, - { - "$ref": "#/components/parameters/targetIdFilter" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NegativeTargetingClauseEx" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/sp/negativeTargets/extended/{targetId}": { - "get": { - "tags": [ - "Negative product targeting" - ], - "operationId": "getNegativeTargetingClauseEx", - "summary": "Get a negative targeting clause specified by identifier. [PLANNED DEPRECATION 6/30/2023]", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "$ref": "#/components/parameters/targetId" - } - ], - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NegativeTargetingClauseEx" - } - } - } - }, - "404": { - "$ref": "#/components/responses/NotFound" + "400": { + "$ref": "#/components/responses/InvalidQueryParam" } } } }, - "/v2/sp/{recordType}/report": { + "/v2/sp/targets/bidRecommendations": { "post": { "tags": [ - "Reports" - ], - "operationId": "requestReport", - "summary": "Requests a Sponsored Products report. [PLANNED DEPRECATION 3/30/2023]", - "description": "**Deprecation notice: This endpoint will be deprecated on March 30, 2023. Use the [version 3 reporting endpoints](/API/docs/en-us/offline-report-prod-3p) going forward.**\n\nRequests the creation of a performance report for all entities of a single type which have performance data to report. Record types can be one of `campaigns`, `adGroups`, `keywords`, `productAds`, `asins`, and `targets`. \n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**\n\n**Note**: `asins` reports currently can **not** include metrics associated with both keywords and targets. If the `targetingId` value is set in the request, the report filters on targets and does not return sales associated with keywords. If the `targetingId` value is **not** set in the request, the report filters on keywords and does not return sales associated with targets. Therefore, the default behavior filters the report on keywords. Also note that if both `keywordId` **and** `targetingId` values are passed, the report filters on targets only and does **not** return keywords.", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "recordType", - "in": "path", - "required": true, - "description": "The type of entity for which the report should be generated.", - "schema": { - "type": "string", - "enum": [ - "campaigns", - "adGroups", - "keywords", - "productAds", - "asins", - "targets" - ] - } - } + "Bid recommendations" ], + "operationId": "getBidRecommendations", + "summary": "Gets a list of bid recommendations for keyword, product, or auto targeting expressions.", "requestBody": { + "description": "An ad group identifier and list of associated targeting expressions for which to generate bid recommendations. Note that targeting expressions are required to be of the same type. That is, all targeting expressions in the list must be one of **keyword**, **product**, or **auto** target types.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Report" - } - } - } - }, - "responses": { - "200": { - "description": "Success.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "reportId": { - "type": "string", - "description": "The unique ID for your requested report." - }, - "recordType": { - "type": "string", - "description": "The record type of the report. It can be `campaign`, `adGroup`, `keyword`, `productAd`, or `targets`." - }, - "status": { - "type": "string", - "description": "The status of the report. Status is one of `IN_PROGRESS`, `SUCCESS`, or `FAILURE`." - }, - "statusDetails": { - "type": "string", - "description": "Description of the status." + "type": "object", + "properties": { + "adGroupId": { + "description": "The ad group identifier.", + "type": "number" + }, + "expressions": { + "description": "The list of targeting expressions.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TargetingExpressionPredicate" + } } } } } } - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "406": { - "$ref": "#/components/responses/NotAcceptable" - }, - "422": { - "$ref": "#/components/responses/UnprocessableEntity" - } - } - } - }, - "/v2/reports/{reportId}": { - "get": { - "tags": [ - "Reports" - ], - "operationId": "getReport", - "summary": "Gets a previously requested report specified by identifier.", - "description": "To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "reportId", - "in": "path", - "required": true, - "description": "The report identifier.", - "schema": { - "type": "string" - } } - ], + }, "responses": { "200": { "description": "Success.", @@ -3318,108 +429,44 @@ "schema": { "type": "object", "properties": { - "reportId": { - "type": "string", - "description": "The unique ID for your requested report." - }, - "status": { - "type": "string", - "description": "The status of the report. Status is one of `IN_PROGRESS`, `SUCCESS`, or `FAILURE`." + "adGroupId": { + "description": "The ad group identifier.", + "type": "number" }, - "statusDetails": { - "type": "string", - "description": "Description of the status." + "recommendations": { + "description": "The list of recommended bids with associated targeting expressions.", + "type": "array", + "items": { + "type": "object", + "properties": { + "suggestedBid": { + "$ref": "#/components/schemas/SuggestedBid" + }, + "expression": { + "$ref": "#/components/schemas/TargetingExpressionPredicate" + }, + "code": { + "description": "The response code.", + "type": "string", + "enum": [ + "SUCCESS", + "INVALID_ARGUMENT", + "NOT_FOUND", + "INTERNAL_ERROR", + "SERVER_IS_BUSY", + "UNAUTHORIZED" + ] + } + } + } } } } } } }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "404": { - "$ref": "#/components/responses/NotFound" - } - } - } - }, - "/v2/reports/{reportId}/download": { - "get": { - "tags": [ - "Reports" - ], - "summary": "Downloads a previously requested report identified by report ID.", - "description": "Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. \n\nThe report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request.\n\n**Note**: The report files in S3 are gzipped.\n\n*Example report download*\n\n```\n$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.xxxxxxx.xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx?AWSAccessKeyId=XXXXXXXXXXXXXXX&Expires=1476479900&Signature=xxxxxxxxxxxxxxxxxxxx\"\n```\n\n**To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).**", - "operationId": "downloadReport", - "parameters": [ - { - "$ref": "#/components/parameters/clientHeader" - }, - { - "$ref": "#/components/parameters/profileHeader" - }, - { - "name": "reportId", - "in": "path", - "description": "The identifier of the requested report.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "307": { - "description": "Successful operation.", - "headers": { - "Location": { - "schema": { - "type": "string" - }, - "description": "Redirect URI with S3 file location containing report data" - } - } - }, "400": { - "description": "Bad request.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "404": { - "description": "Not found - requested resource does not exist or is not visible for the authenticated user.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "429": { - "description": "Too many requests - request was rate-limited. Retry later.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "500": { - "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/Error" - } - } - } + "$ref": "#/components/responses/BadRequest" } } } @@ -3431,7 +478,7 @@ ], "operationId": "requestSnapshot", "summary": "Request a file-based snapshot of all entities of the specified type.", - "description": "Request a file-based snapshot of all entities of the specified type in the account satisfying the filtering criteria.\n\n**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/concepts/snapshots/sponsored-ads).**", + "description": "Request a file-based snapshot of all entities of the specified type in the account satisfying the filtering criteria.\n\n**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/guides/snapshots/get-started).**", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -3493,7 +540,7 @@ ], "operationId": "getSnapshotStatus", "summary": "Gets the status of a requested snapshot.", - "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/concepts/snapshots/sponsored-ads).**", + "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/guides/snapshots/overview).**", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -3549,7 +596,7 @@ ], "operationId": "downloadSnapshot", "summary": "Downloads a previously requested snapshot.", - "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/concepts/snapshots/sponsored-ads).**", + "description": "**To understand the call flow for asynchronous snapshots, see [Getting started with sponsored ads snapshots](/API/docs/en-us/guides/snapshots/get-started).**", "parameters": [ { "$ref": "#/components/parameters/clientHeader" @@ -3728,7 +775,7 @@ "maxNumSuggestions": { "name": "maxNumSuggestions", "in": "query", - "description": "The maxiumum number of suggested keywords for the response.", + "description": "The maximum number of suggested keywords for the response.", "schema": { "type": "integer", "default": 100, @@ -4585,7 +1632,7 @@ "type": "number" }, "servingStatus": { - "description": "The serving status of the campaign negative keyword. See the **computed status** section of the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) for definitions.", + "description": "The serving status of the campaign negative keyword. See the **computed status** section of the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) for definitions.", "type": "string", "enum": [ "TARGETING_CLAUSE_STATUS_LIVE", @@ -4834,7 +1881,7 @@ "type": "number" }, "servingStatus": { - "description": "The serving status of the keyword. See the **computed status** section of the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) for definitions.", + "description": "The serving status of the keyword. See the **computed status** section of the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) for definitions.", "type": "string", "enum": [ "TARGETING_CLAUSE_ARCHIVED", @@ -4989,7 +2036,7 @@ "type": "number" }, "servingStatus": { - "description": "The serving status of the keyword. See the **computed status** section of the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) for definitions.", + "description": "The serving status of the keyword. See the **computed status** section of the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) for definitions.", "type": "string", "enum": [ "TARGETING_CLAUSE_ARCHIVED", @@ -5191,7 +2238,7 @@ "type": "number" }, "servingStatus": { - "description": "The computed status of the negative targeting clause. See the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) for more information.", + "description": "The computed status of the negative targeting clause. See the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) for more information.", "type": "string", "enum": [ "TARGETING_CLAUSE_ARCHIVED", @@ -5304,7 +2351,7 @@ "type": "number" }, "servingStatus": { - "description": "The computed status of the product ad. See the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) for more information.", + "description": "The computed status of the product ad. See the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) for more information.", "type": "string", "enum": [ "AD_ARCHIVED", @@ -5394,7 +2441,7 @@ } }, "ReportMetrics": { - "description": "A comma-separated list of the metrics to be included in the report. \nEach report type supports different metrics. To understand supported metrics for each report type, see [Report types](/API/docs/en-us/reporting/v2/report-types).", + "description": "A comma-separated list of the metrics to be included in the report. \nEach report type supports different metrics. To understand supported metrics for each report type, see [Report types](/API/docs/en-us/guides/reporting/v2/report-types).", "type": "string" }, "Report": { @@ -5427,7 +2474,7 @@ ] }, "reportDate": { - "description": "The date for which to retrieve the performance report in YYYYMMDD format. The time zone is specified by the profile used to request the report. If this date is today, then the performance report may contain partial information. Reports are not available for data older than 60 days. For details on data latency, see the service guarantees in the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) section.", + "description": "The date for which to retrieve the performance report in YYYYMMDD format. The time zone is specified by the profile used to request the report. If this date is today, then the performance report may contain partial information. Reports are not available for data older than 60 days. For details on data latency, see the service guarantees in the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) section.", "type": "string" }, "metrics": { @@ -5581,7 +2628,7 @@ "type": "string" }, "type": { - "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `asinCategorySameAs` | Negatively Target the same category as the category expressed. |\n| `asinBrandSameAs` | Target the brand that is the same as the brand expressed. |\n| `asinPriceLessThan` | Target a price that is less than the price expressed. |\n| `asinPriceBetween` | Target a price that is between the prices expressed. |\n| `asinPriceGreaterThan` | Target a price that is greater than the price expressed. |\n| `asinReviewRatingLessThan` | Target a review rating less than the review rating that is expressed. |\n| `asinReviewRatingBetween` | Target a review rating that is between the review ratings expressed. |\n| `asinReviewRatingGreaterThan` | Target a review rating that is greater than the review rating expressed. |\n| `asinSameAs` | Target an ASIN that is the same as the ASIN expressed. |\n| `asinIsPrimeShippingEligible` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `asinAgeRangeSameAs` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `asinGenreSameAs` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `asinExpandedFrom` | Target a single product along with others closely related to it, including substitutes and complements. |", + "description": "The type of targeting expression. You can specify values for the following predicates:\n| Predicate | Description |\n| --- | --- |\n| `asinCategorySameAs` | Negatively Target the same category as the category expressed. |\n| `asinBrandSameAs` | Target the brand that is the same as the brand expressed. |\n| `asinPriceLessThan` | Target a price that is less than the price expressed. |\n| `asinPriceBetween` | Target a price that is between the prices expressed. |\n| `asinPriceGreaterThan` | Target a price that is greater than the price expressed. |\n| `asinReviewRatingLessThan` | Target a review rating less than the review rating that is expressed. |\n| `asinReviewRatingBetween` | Target a review rating that is between the review ratings expressed. |\n| `asinReviewRatingGreaterThan` | Target a review rating that is greater than the review rating expressed. |\n| `asinSameAs` | Target an ASIN that is the same as the ASIN expressed. |\n| `asinIsPrimeShippingEligible` | Target products that are Prime Shipping Eligible. This refinement can be applied at a category or brand level only. |\n| `asinAgeRangeSameAs` | Target an age range that is in the expressed range. This refinement can be applied for toys and games categories only. |\n| `asinGenreSameAs` | Target products related to the expressed genre. This refinement can be applied for Books and eBooks categories only. |\n| `asinExpandedFrom` | Target a single product along with others closely related to it, including substitutes and complements. |\n| `queryExactMatches` | Use this enum to exactly match your query with search queries. |\n| `queryPhraseMatches` | Use this enum to match your query with search phrases. |\n| `queryBroadMatches` | Use this enum to broadly match your query with search queries. |", "type": "string", "enum": [ "asinCategorySameAs", @@ -5600,7 +2647,10 @@ "asinAgeRangeSameAs", "asinGenreSameAs", "asinIsPrimeShippingEligible", - "asinExpandedFrom" + "asinExpandedFrom", + "queryExactMatches", + "queryPhraseMatches", + "queryBroadMatches" ] } } @@ -5756,7 +2806,7 @@ "type": "number" }, "servingStatus": { - "description": "The computed status of the targeting clause. See the [developer notes](https://advertising.amazon.com/API/docs/en-us/get-started/developer-notes) for more information.", + "description": "The computed status of the targeting clause. See the [developer notes](https://advertising.amazon.com/API/docs/en-us/reference/concepts/developer-notes) for more information.", "type": "string", "enum": [ "TARGETING_CLAUSE_ARCHIVED", diff --git a/src/apis/clients/dsp-measurement-client.ts b/src/apis/clients/dsp-measurement-client.ts index 8798976..95b88e6 100644 --- a/src/apis/clients/dsp-measurement-client.ts +++ b/src/apis/clients/dsp-measurement-client.ts @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -import { MeasurementApi } from '../models/dsp-measurement'; +import { MeasurementApi,OmnichannelMetricsStudyApi } from '../models/dsp-measurement'; import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants'; import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers'; @@ -21,3 +21,6 @@ export class DspMeasurementClient extends MeasurementApi { } + export interface DspMeasurementClient extends MeasurementApi,OmnichannelMetricsStudyApi {} + applyMixins(DspMeasurementClient, [MeasurementApi,OmnichannelMetricsStudyApi]) + diff --git a/src/apis/clients/sponsored-brands-client.ts b/src/apis/clients/sponsored-brands-client.ts index b68c763..246d4f3 100644 --- a/src/apis/clients/sponsored-brands-client.ts +++ b/src/apis/clients/sponsored-brands-client.ts @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -import { AdGroupsApi,BidRecommendationsApi,BrandsApi,CampaignsApi,DraftsApi,KeywordsApi,LandingPageAsinsApi,MediaApi,ModerationApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductTargetingApi,ReportsApi,StoresApi,TargetingRecommendationsApi } from '../models/sponsored-brands'; +import { AdGroupsApi,BidRecommendationsApi,BrandsApi,CampaignsApi,DraftsApi,KeywordsApi,LandingPageAsinsApi,MediaApi,ModerationApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductTargetingApi,ReportsApi,StoresApi,TargetingRecommendationsApi,ThemeTargetingApi } from '../models/sponsored-brands'; import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants'; import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers'; @@ -21,6 +21,6 @@ export class SponsoredBrandsClient extends AdGroupsApi { } - export interface SponsoredBrandsClient extends AdGroupsApi,BidRecommendationsApi,BrandsApi,CampaignsApi,DraftsApi,KeywordsApi,LandingPageAsinsApi,MediaApi,ModerationApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductTargetingApi,ReportsApi,StoresApi,TargetingRecommendationsApi {} - applyMixins(SponsoredBrandsClient, [AdGroupsApi,BidRecommendationsApi,BrandsApi,CampaignsApi,DraftsApi,KeywordsApi,LandingPageAsinsApi,MediaApi,ModerationApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductTargetingApi,ReportsApi,StoresApi,TargetingRecommendationsApi]) + export interface SponsoredBrandsClient extends AdGroupsApi,BidRecommendationsApi,BrandsApi,CampaignsApi,DraftsApi,KeywordsApi,LandingPageAsinsApi,MediaApi,ModerationApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductTargetingApi,ReportsApi,StoresApi,TargetingRecommendationsApi,ThemeTargetingApi {} + applyMixins(SponsoredBrandsClient, [AdGroupsApi,BidRecommendationsApi,BrandsApi,CampaignsApi,DraftsApi,KeywordsApi,LandingPageAsinsApi,MediaApi,ModerationApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductTargetingApi,ReportsApi,StoresApi,TargetingRecommendationsApi,ThemeTargetingApi]) diff --git a/src/apis/clients/sponsored-brands-extra-client.ts b/src/apis/clients/sponsored-brands-extra-client.ts index bdd0e3e..e155e9e 100644 --- a/src/apis/clients/sponsored-brands-extra-client.ts +++ b/src/apis/clients/sponsored-brands-extra-client.ts @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -import { AdCreativesApi,AdGroupsApi,AdsApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignsApi,DefaultApi,KeywordRecommendationsApi,ProductTargetingApi,RecommendationsApi,SuggestionsApi } from '../models/sponsored-brands-extra'; +import { AdCreativesApi,AdGroupsApi,AdsApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignsApi,InsightsApi,KeywordRecommendationsApi,ProductTargetingCategoriesApi,RecommendationsApi,SuggestionsApi,TargetingRecommendationsApi } from '../models/sponsored-brands-extra'; import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants'; import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers'; @@ -21,6 +21,6 @@ export class SponsoredBrandsExtraClient extends AdCreativesApi { } - export interface SponsoredBrandsExtraClient extends AdCreativesApi,AdGroupsApi,AdsApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignsApi,DefaultApi,KeywordRecommendationsApi,ProductTargetingApi,RecommendationsApi,SuggestionsApi {} - applyMixins(SponsoredBrandsExtraClient, [AdCreativesApi,AdGroupsApi,AdsApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignsApi,DefaultApi,KeywordRecommendationsApi,ProductTargetingApi,RecommendationsApi,SuggestionsApi]) + export interface SponsoredBrandsExtraClient extends AdCreativesApi,AdGroupsApi,AdsApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignsApi,InsightsApi,KeywordRecommendationsApi,ProductTargetingCategoriesApi,RecommendationsApi,SuggestionsApi,TargetingRecommendationsApi {} + applyMixins(SponsoredBrandsExtraClient, [AdCreativesApi,AdGroupsApi,AdsApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetRulesRecommendationApi,BudgetUsageApi,CampaignsApi,InsightsApi,KeywordRecommendationsApi,ProductTargetingCategoriesApi,RecommendationsApi,SuggestionsApi,TargetingRecommendationsApi]) diff --git a/src/apis/clients/sponsored-display-client.ts b/src/apis/clients/sponsored-display-client.ts index 39a4ef6..7f8b6b1 100644 --- a/src/apis/clients/sponsored-display-client.ts +++ b/src/apis/clients/sponsored-display-client.ts @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -import { AdGroupsApi,BidRecommendationsApi,BrandSafetyListApi,CampaignsApi,CreativesApi,ForecastsApi,NegativeTargetingApi,OptimizationRulesPreviewOnlyApi,ProductAdsApi,ReportsApi,SnapshotsApi,TargetingApi,TargetingRecommendationsApi } from '../models/sponsored-display'; +import { AdGroupsApi,BidRecommendationsApi,BrandSafetyListApi,BudgetRulesApi,BudgetUsageApi,CampaignsApi,CreativesApi,ForecastsApi,LocationsApi,LocationsBetaApi,NegativeTargetingApi,OptimizationRulesPreviewOnlyApi,ProductAdsApi,ReportsApi,SnapshotsApi,TargetingApi,TargetingRecommendationsApi } from '../models/sponsored-display'; import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants'; import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers'; @@ -21,6 +21,6 @@ export class SponsoredDisplayClient extends AdGroupsApi { } - export interface SponsoredDisplayClient extends AdGroupsApi,BidRecommendationsApi,BrandSafetyListApi,CampaignsApi,CreativesApi,ForecastsApi,NegativeTargetingApi,OptimizationRulesPreviewOnlyApi,ProductAdsApi,ReportsApi,SnapshotsApi,TargetingApi,TargetingRecommendationsApi {} - applyMixins(SponsoredDisplayClient, [AdGroupsApi,BidRecommendationsApi,BrandSafetyListApi,CampaignsApi,CreativesApi,ForecastsApi,NegativeTargetingApi,OptimizationRulesPreviewOnlyApi,ProductAdsApi,ReportsApi,SnapshotsApi,TargetingApi,TargetingRecommendationsApi]) + export interface SponsoredDisplayClient extends AdGroupsApi,BidRecommendationsApi,BrandSafetyListApi,BudgetRulesApi,BudgetUsageApi,CampaignsApi,CreativesApi,ForecastsApi,LocationsApi,LocationsBetaApi,NegativeTargetingApi,OptimizationRulesPreviewOnlyApi,ProductAdsApi,ReportsApi,SnapshotsApi,TargetingApi,TargetingRecommendationsApi {} + applyMixins(SponsoredDisplayClient, [AdGroupsApi,BidRecommendationsApi,BrandSafetyListApi,BudgetRulesApi,BudgetUsageApi,CampaignsApi,CreativesApi,ForecastsApi,LocationsApi,LocationsBetaApi,NegativeTargetingApi,OptimizationRulesPreviewOnlyApi,ProductAdsApi,ReportsApi,SnapshotsApi,TargetingApi,TargetingRecommendationsApi]) diff --git a/src/apis/clients/sponsored-display-extra-client.ts b/src/apis/clients/sponsored-display-extra-client.ts index afdea6b..f319c2b 100644 --- a/src/apis/clients/sponsored-display-extra-client.ts +++ b/src/apis/clients/sponsored-display-extra-client.ts @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -import { BrandSafetyDenyListDomainsApi,BrandSafetyRequestResultsApi,BrandSafetyRequestStatusApi,BudgetRulesApi,BudgetUsageApi,RecommendationsApi,SnapshotAPIsApi,TargetingRecommendationsApi } from '../models/sponsored-display-extra'; +import { BrandSafetyDenyListDomainsApi,BrandSafetyRequestResultsApi,BrandSafetyRequestStatusApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetUsageApi,RecommendationsApi,SnapshotAPIsApi,TargetingRecommendationsApi } from '../models/sponsored-display-extra'; import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants'; import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers'; @@ -21,6 +21,6 @@ export class SponsoredDisplayExtraClient extends BrandSafetyDenyListDomainsApi { } - export interface SponsoredDisplayExtraClient extends BrandSafetyDenyListDomainsApi,BrandSafetyRequestResultsApi,BrandSafetyRequestStatusApi,BudgetRulesApi,BudgetUsageApi,RecommendationsApi,SnapshotAPIsApi,TargetingRecommendationsApi {} - applyMixins(SponsoredDisplayExtraClient, [BrandSafetyDenyListDomainsApi,BrandSafetyRequestResultsApi,BrandSafetyRequestStatusApi,BudgetRulesApi,BudgetUsageApi,RecommendationsApi,SnapshotAPIsApi,TargetingRecommendationsApi]) + export interface SponsoredDisplayExtraClient extends BrandSafetyDenyListDomainsApi,BrandSafetyRequestResultsApi,BrandSafetyRequestStatusApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetUsageApi,RecommendationsApi,SnapshotAPIsApi,TargetingRecommendationsApi {} + applyMixins(SponsoredDisplayExtraClient, [BrandSafetyDenyListDomainsApi,BrandSafetyRequestResultsApi,BrandSafetyRequestStatusApi,BudgetRecommendationsApi,BudgetRulesApi,BudgetUsageApi,RecommendationsApi,SnapshotAPIsApi,TargetingRecommendationsApi]) diff --git a/src/apis/clients/sponsored-products-client.ts b/src/apis/clients/sponsored-products-client.ts index 6cc6ed6..41468a6 100644 --- a/src/apis/clients/sponsored-products-client.ts +++ b/src/apis/clients/sponsored-products-client.ts @@ -8,11 +8,11 @@ * Do not edit the class manually. */ -import { AdGroupsApi,BidRecommendationsApi,CampaignNegativeKeywordsApi,CampaignsApi,KeywordsApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductAdsApi,ProductTargetingApi,ReportsApi,SnapshotsApi,SuggestedKeywordsApi } from '../models/sponsored-products'; +import { BidRecommendationsApi,SnapshotsApi,SuggestedKeywordsApi } from '../models/sponsored-products'; import { DEFAULT_API_BASE_PATH, APIConfigurationParameters } from '../../constants'; import { getAxiosInstance, applyMixins, AdsConfiguration } from '../../helpers'; -export class SponsoredProductsClient extends AdGroupsApi { +export class SponsoredProductsClient extends BidRecommendationsApi { constructor(parameters: APIConfigurationParameters) { const axios = getAxiosInstance(parameters) const configuration = new AdsConfiguration(parameters) @@ -21,6 +21,6 @@ export class SponsoredProductsClient extends AdGroupsApi { } - export interface SponsoredProductsClient extends AdGroupsApi,BidRecommendationsApi,CampaignNegativeKeywordsApi,CampaignsApi,KeywordsApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductAdsApi,ProductTargetingApi,ReportsApi,SnapshotsApi,SuggestedKeywordsApi {} - applyMixins(SponsoredProductsClient, [AdGroupsApi,BidRecommendationsApi,CampaignNegativeKeywordsApi,CampaignsApi,KeywordsApi,NegativeKeywordsApi,NegativeProductTargetingApi,ProductAdsApi,ProductTargetingApi,ReportsApi,SnapshotsApi,SuggestedKeywordsApi]) + export interface SponsoredProductsClient extends BidRecommendationsApi,SnapshotsApi,SuggestedKeywordsApi {} + applyMixins(SponsoredProductsClient, [BidRecommendationsApi,SnapshotsApi,SuggestedKeywordsApi]) diff --git a/src/apis/models/attribution.ts b/src/apis/models/attribution.ts index a075e08..5c25671 100644 --- a/src/apis/models/attribution.ts +++ b/src/apis/models/attribution.ts @@ -246,7 +246,7 @@ export interface ReportRequestBody { */ count?: number; /** - * A comma-delimited list of metrics to include in the report. In the report, each metric’s value reflects the events which took place on the row’s date; in other words, events are reported on the date they occurred, not on the date of the attributed click. Attribution is calculated using a 14-day last-click model. For more detail on attribution methodology, see the [Measurement](https://advertising.amazon.com/API/docs/en-us/amazon-attribution/how-to#measurement) section of the API guide. View the list of available metrics for each report type below.\"Promoted products\" refers to products associated with the campaign. |Metrics for reportType`PERFORMANCE`| |-------------------| |Metric |Description| |--------|-----------| |Click-throughs|Ad clicks.| |attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted product.| |attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.| |attributedPurchases14d|Ad click-attributed purchases for promoted products.| |unitsSold14d|Ad click-attributed units sold for promoted products.| |attributedSales14d|Ad click-attributed sales for promoted products in local currency.| |attributedTotalDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products plus brand halo products.| |attributedTotalAddToCartClicks14d|Ad click-attributed add to carts for promoted products plus brand halo products.| |attributedTotalPurchases14d|Ad click-attributed purchases for promoted products plus brand halo products.| |totalUnitsSold14d|Ad click-attributed units sold for promoted products plus brand halo products.| |totalAttributedSales14d|Ad click-attributed attributed sales for promoted products plus brand halo products.| |brb_bonus_amount|Estimated ad-attributed Brand Referral Bonus credit amount in local currency. Will be omitted from response if advertiser is not a BRB-enrolled seller or request does not include a ‘metrics’ list. Requests for this metric must groupBy ADGROUP or CAMPAIGN, or will result in an error 400. Please refer to to learn more about BRB program.| |Metrics for reportType`PRODUCTS`| |-------------------| |Metric |Description| |--------|-----------| |attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products.| |attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.| |attributedPurchases14d|Ad click-attributed purchases for promoted products.| |unitsSold14d|Ad click-attributed units sold for promoted products.| |attributedSales14d|Ad click-attributed sales for promoted products in local currency.| |brandHaloDetailPageViewsClicks14d|Ad click-attributed detail page views for brand halo products.| |brandHaloAttributedAddToCartClicks14d|Ad click-attributed add to carts for brand halo products.| |brandHaloAttributedPurchases14d|Ad click-attributed purchases for brand halo products.| |brandHaloUnitsSold14d|Ad click-attributed units sold for brand halo products.| |brandHaloAttributedSales14d|Ad click-attributed attributed sales for brand halo products.| |attributedNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |attributedNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |attributedNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for promoted products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |brandHaloNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |brandHaloNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |brandHaloNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for brand halo products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| + * A comma-delimited list of metrics to include in the report. In the report, each metric’s value reflects the events which took place on the row’s date; in other words, events are reported on the date they occurred, not on the date of the attributed click. Attribution is calculated using a 14-day last-click model. For more detail on attribution methodology, see the [Measurement](https://advertising.amazon.com/API/docs/en-us/amazon-attribution/how-to#measurement) section of the API guide. View the list of available metrics for each report type below.\"Promoted products\" refers to products associated with the campaign. |Metrics for reportType`PERFORMANCE`| |-------------------| |Metric |Description| |--------|-----------| |Click-throughs|Ad clicks.| |attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted product.| |attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.| |attributedPurchases14d|Ad click-attributed purchases for promoted products.| |unitsSold14d|Ad click-attributed units sold for promoted products.| |attributedSales14d|Ad click-attributed sales for promoted products in local currency.| |attributedTotalDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products plus brand halo products.| |attributedTotalAddToCartClicks14d|Ad click-attributed add to carts for promoted products plus brand halo products.| |attributedTotalPurchases14d|Ad click-attributed purchases for promoted products plus brand halo products.| |totalUnitsSold14d|Ad click-attributed units sold for promoted products plus brand halo products.| |totalAttributedSales14d|Ad click-attributed attributed sales for promoted products plus brand halo products.| |attributedPagesRead14d| The no of pages read attributed to ad click-throughs within 14 days.| |attributedRoyaltyAmount14d|Royalty amount attributed to ad click-throughs within 14 days.| |brb_bonus_amount|Estimated ad-attributed Brand Referral Bonus credit amount in local currency. Will be omitted from response if advertiser is not a BRB-enrolled seller or request does not include a ‘metrics’ list. Requests for this metric must groupBy ADGROUP or CAMPAIGN, or will result in an error 400. Please refer to to learn more about BRB program.| |kindleEditionNormalizedPagesRead14d| Number of attributed Kindle edition pages read within 14 days of ad click.| |kindleEditionNormalizedPagesRoyalties14d|The estimated royalties of attributed estimated Kindle edition normalized pages within 14 days of ad click.| |Metrics for reportType`PRODUCTS`| |-------------------| |Metric |Description| |--------|-----------| |attributedDetailPageViewsClicks14d|Ad click-attributed detail page views for promoted products.| |attributedAddToCartClicks14d|Ad click-attributed add to carts for promoted products.| |attributedPurchases14d|Ad click-attributed purchases for promoted products.| |unitsSold14d|Ad click-attributed units sold for promoted products.| |attributedSales14d|Ad click-attributed sales for promoted products in local currency.| |brandHaloDetailPageViewsClicks14d|Ad click-attributed detail page views for brand halo products.| |brandHaloAttributedAddToCartClicks14d|Ad click-attributed add to carts for brand halo products.| |brandHaloAttributedPurchases14d|Ad click-attributed purchases for brand halo products.| |brandHaloUnitsSold14d|Ad click-attributed units sold for brand halo products.| |brandHaloAttributedSales14d|Ad click-attributed attributed sales for brand halo products.| |attributedNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |attributedNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for promoted products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |attributedNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for promoted products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |brandHaloNewToBrandPurchases14d|Ad click-attributed new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |brandHaloNewToBrandUnitsSold14d|Ad click-attributed units sold in new-to-brand purchases for brand halo products. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |brandHaloNewToBrandSales14d|Ad click-attributed sales of new-to-brand purchases for brand halo products in local currency. A purchase is new-to-brand when a shopper purchases a product from the brand for the first time in the past year.| |kindleEditionNormalizedPagesRead14d| The no of pages read attributed to ad click-throughs within 14 days.| |kindleEditionNormalizedPagesRoyalties14d|The estimated royalties of attributed estimated Kindle edition normalized pages within 14 days of ad click.| * @type {string} * @memberof ReportRequestBody */ 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/authorization-profiles.ts b/src/apis/models/authorization-profiles.ts index c5cc43d..3e2012e 100644 --- a/src/apis/models/authorization-profiles.ts +++ b/src/apis/models/authorization-profiles.ts @@ -47,7 +47,7 @@ export interface AccountInfo { */ type?: AccountType; /** - * Account Name. Not currently populated for sellers. + * Account name. * @type {string} * @memberof AccountInfo */ @@ -88,30 +88,33 @@ export enum AccountType { } /** - * The countryCode for a given country |Region|`countryCode`|Country Name| |------|-----|-------| |NA|US|United States| |NA|CA|Canada| |NA|MX|Mexico| |NA|BR|Brazil| |EU|UK|United Kingdom| |EU|EG|Egypt| |EU|DE|Germany| |EU|FR|France| |EU|ES|Spain| |EU|IT|Italy| |EU|NL|The Netherlands| |EU|AE|United Arab Emirates| |EU|SE|Sweden| |EU|SE|Sweden| |EU|PL|Poland| |EU|TR|Turkey| |FE|JP|Japan| |FE|AU|Australia| |FE|SG|Singapore| + * The countryCode for a given country |Region|`countryCode`|Country Name| |------|-----|-------| |NA|BR|Brazil| |NA|CA|Canada| |NA|MX|Mexico| |NA|US|United States| |EU|AE|United Arab Emirates| |EU|BE|Belgium| |EU|DE|Germany| |EU|EG|Egypt| |EU|ES|Spain| |EU|FR|France| |EU|IN|India| |EU|IT|Italy| |EU|NL|The Netherlands| |EU|PL|Poland| |EU|SA|Saudi Arabia| |EU|SE|Sweden| |EU|TR|Turkey| |EU|UK|United Kingdom| |FE|AU|Australia| |FE|JP|Japan| |FE|SG|Singapore| * @export * @enum {string} */ export enum CountryCode { - Us = 'US', + Br = 'BR', Ca = 'CA', Mx = 'MX', - Br = 'BR', - Uk = 'UK', - Eg = 'EG', + Us = 'US', + Ae = 'AE', + Be = 'BE', De = 'DE', - Fr = 'FR', + Eg = 'EG', Es = 'ES', + Fr = 'FR', + In = 'IN', It = 'IT', Nl = 'NL', - Jp = 'JP', - Au = 'AU', - Ae = 'AE', - Sg = 'SG', - Se = 'SE', Pl = 'PL', - Tr = 'TR' + Sa = 'SA', + Se = 'SE', + Tr = 'TR', + Uk = 'UK', + Au = 'AU', + Jp = 'JP', + Sg = 'SG' } /** @@ -133,7 +136,7 @@ export interface Profile { */ countryCode?: CountryCode; /** - * The currency used for all monetary values for entities under this profile. |Region|`countryCode`|Country Name|`currencyCode`| |-----|------|------|------| |NA|US|United States|USD| |NA|CA|Canada|CAD| |NA|MX|Mexico|MXN| |NA|BR|Brazil|BRL| |EU|UK|United Kingdom|GBP| |EU|EG|Egypt|EGP| |EU|DE|Germany|EUR| |EU|FR|France|EUR| |EU|ES|Spain|EUR| |EU|IT|Italy|EUR| |EU|NL|The Netherlands|EUR| |EU|SE|Sweden|SEK| |EU|PL|Poland|PLN| |EU|AE|United Arab Emirates|AED| |EU|TR|Turkey|TRY| |FE|JP|Japan|JPY| |FE|AU|Australia|AUD| |FE|SG|Singapore|SGD| + * The currency used for all monetary values for entities under this profile. |Region|`countryCode`|Country Name|`currencyCode`| |-----|------|------|------| |NA|BR|Brazil|BRL| |NA|CA|Canada|CAD| |NA|MX|Mexico|MXN| |NA|US|United States|USD| |EU|AE|United Arab Emirates|AED| |EU|BE|Belgium|EUR| |EU|DE|Germany|EUR| |EU|EG|Egypt|EGP| |EU|ES|Spain|EUR| |EU|FR|France|EUR| |EU|IN|India|INR| |EU|IT|Italy|EUR| |EU|NL|The Netherlands|EUR| |EU|PL|Poland|PLN| |EU|SA|Saudi Arabia|SAR| |EU|SE|Sweden|SEK| |EU|TR|Turkey|TRY| |EU|UK|United Kingdom|GBP| |FE|AU|Australia|AUD| |FE|JP|Japan|JPY| |FE|SG|Singapore|SGD| * @type {string} * @memberof Profile */ @@ -145,7 +148,7 @@ export interface Profile { */ dailyBudget?: number; /** - * The time zone used for all date-based campaign management and reporting. |Region|`countryCode`|Country Name|`timezone`| |------|-----|-----|------| |NA|US|United States|America/Los_Angeles| |NA|CA|Canada|America/Los_Angeles| |NA|MX|Mexico|America/Los_Angeles| |NA|BR|Brazil|America/Sao_Paulo| |EU|UK|United Kingdom|Europe/London| |EU|EG|Egypt|Africa/Cairo| |EU|DE|Germany|Europe/Paris| |EU|FR|France|Europe/Paris| |EU|ES|Spain|Europe/Paris| |EU|IT|Italy|Europe/Paris| |EU|NL|The Netherlands|Europe/Paris| |EU|SE|Sweden|Europe/Stockholm| |EU|PL|Poland|Europe/Warsaw| |EU|AE|United Arab Emirates|Asia/Dubai| |EU|TR|Turkey|Europe/Istanbul| |FE|JP|Japan|Asia/Tokyo| |FE|AU|Australia|Australia/Sydney| |FE|SG|Singapore|Asia/Singapore| + * The time zone used for all date-based campaign management and reporting. |Region|`countryCode`|Country Name|`timezone`| |------|-----|-----|------| |NA|BR|Brazil|America/Sao_Paulo| |NA|CA|Canada|America/Los_Angeles| |NA|MX|Mexico|America/Los_Angeles| |NA|US|United States|America/Los_Angeles| |EU|AE|United Arab Emirates|Asia/Dubai| |EU|BE|Belgium|Europe/Paris| |EU|DE|Germany|Europe/Paris| |EU|EG|Egypt|Africa/Cairo| |EU|ES|Spain|Europe/Paris| |EU|FR|France|Europe/Paris| |EU|IN|India|Asia/Kolkata| |EU|IT|Italy|Europe/Paris| |EU|NL|The Netherlands|Europe/Amsterdam| |EU|PL|Poland|Europe/Warsaw| |EU|SA|Saudi Arabia|Asia/Riyadh| |EU|SE|Sweden|Europe/Stockholm| |EU|TR|Turkey|Europe/Istanbul| |EU|UK|United Kingdom|Europe/London| |FE|AU|Australia|Australia/Sydney| |FE|JP|Japan|Asia/Tokyo| |FE|SG|Singapore|Asia/Singapore| * @type {string} * @memberof Profile */ @@ -163,20 +166,22 @@ export interface Profile { * @enum {string} */ export enum ProfileCurrencyCodeEnum { - Usd = 'USD', + Brl = 'BRL', Cad = 'CAD', Mxn = 'MXN', - Brl = 'BRL', - Gbp = 'GBP', - Egp = 'EGP', - Jpy = 'JPY', - Eur = 'EUR', - Aud = 'AUD', + Usd = 'USD', Aed = 'AED', - Sek = 'SEK', + Eur = 'EUR', + Egp = 'EGP', + Inr = 'INR', Pln = 'PLN', - Sgd = 'SGD', - Try = 'TRY' + Sar = 'SAR', + Sek = 'SEK', + Try = 'TRY', + Gbp = 'GBP', + Aud = 'AUD', + Jpy = 'JPY', + Sgd = 'SGD' } /** * @export @@ -184,17 +189,20 @@ export enum ProfileCurrencyCodeEnum { */ export enum ProfileTimezoneEnum { AfricaCairo = 'Africa/Cairo', - AmericaLosAngeles = 'America/Los_Angeles', AmericaSaoPaulo = 'America/Sao_Paulo', - EuropeLondon = 'Europe/London', - EuropeStockholm = 'Europe/Stockholm', - EuropeParis = 'Europe/Paris', - EuropeWarsaw = 'Europe/Warsaw', - EuropeIstanbul = 'Europe/Istanbul', + AmericaLosAngeles = 'America/Los_Angeles', + AsiaDubai = 'Asia/Dubai', + AsiaKolkata = 'Asia/Kolkata', + AsiaRiyadh = 'Asia/Riyadh', + AsiaSingapore = 'Asia/Singapore', AsiaTokyo = 'Asia/Tokyo', AustraliaSydney = 'Australia/Sydney', - AsiaDubai = 'Asia/Dubai', - AsiaSingapore = 'Asia/Singapore' + EuropeAmsterdam = 'Europe/Amsterdam', + EuropeIstanbul = 'Europe/Istanbul', + EuropeLondon = 'Europe/London', + EuropeParis = 'Europe/Paris', + EuropeStockholm = 'Europe/Stockholm', + EuropeWarsaw = 'Europe/Warsaw' } /** diff --git a/src/apis/models/common-audiences.ts b/src/apis/models/common-audiences.ts index d5f6490..3723c35 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 \'audienceName\' is a broad match filter but not an exact match. 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 */ @@ -277,6 +277,12 @@ export interface DSPAudienceFieldsV1 { * @memberof DSPAudienceFieldsV1 */ fees?: Array; + /** + * The Data Management Platform provider identifier. Only applicable to Third party audience segments. + * @type {string} + * @memberof DSPAudienceFieldsV1 + */ + providerId?: string; } /** * @@ -321,7 +327,19 @@ export interface DSPAudienceFieldsV1Fees { * @enum {string} */ export enum DSPAudienceFieldsV1FeesCurrencyEnum { - Usd = 'USD' + Usd = 'USD', + Cad = 'CAD', + Gbp = 'GBP', + Eur = 'EUR', + Jpy = 'JPY', + Inr = 'INR', + Mxn = 'MXN', + Aud = 'AUD', + Aed = 'AED', + Ksa = 'KSA', + Brl = 'BRL', + Sek = 'SEK', + Try = 'TRY' } /** diff --git a/src/apis/models/common-billing.ts b/src/apis/models/common-billing.ts index c3ddb72..9dd361a 100644 --- a/src/apis/models/common-billing.ts +++ b/src/apis/models/common-billing.ts @@ -147,6 +147,12 @@ export interface AdvertiserMarketplace { * @memberof AdvertiserMarketplace */ marketplaceId: string; + /** + * + * @type {AdvertiserTypes} + * @memberof AdvertiserMarketplace + */ + advertiserType?: AdvertiserTypes; /** * * @type {string} @@ -154,6 +160,19 @@ export interface AdvertiserMarketplace { */ advertiserId: string; } +/** + * + * @export + * @enum {string} + */ + +export enum AdvertiserTypes { + Vendor = 'VENDOR', + Seller = 'SELLER', + DspAdvertisingAccount = 'DSP_ADVERTISING_ACCOUNT', + Agency = 'AGENCY' +} + /** * * @export @@ -211,6 +230,8 @@ export interface BillingNotification { export enum BillingNotificationNames { AccountError = 'ACCOUNT_ERROR', + BadDebtSuspension = 'BAD_DEBT_SUSPENSION', + BillingAddressRegistrationNotFound = 'BILLING_ADDRESS_REGISTRATION_NOT_FOUND', CnpjVerificationInProgress = 'CNPJ_VERIFICATION_IN_PROGRESS', CreditCardChargeDisputeCausedSuspension = 'CREDIT_CARD_CHARGE_DISPUTE_CAUSED_SUSPENSION', CreditCardExpired = 'CREDIT_CARD_EXPIRED', @@ -234,7 +255,9 @@ export enum BillingNotificationNames { PayByInvoiceOverduePayment = 'PAY_BY_INVOICE_OVERDUE_PAYMENT', PayByInvoiceUpcomingPayment = 'PAY_BY_INVOICE_UPCOMING_PAYMENT', PendingPaymentRegistration = 'PENDING_PAYMENT_REGISTRATION', + DirectDebitPaymentPending = 'DIRECT_DEBIT_PAYMENT_PENDING', PendingValidCnpjRegistration = 'PENDING_VALID_CNPJ_REGISTRATION', + PolicyViolations = 'POLICY_VIOLATIONS', StoredValueAutoReloadPaymentFailure = 'STORED_VALUE_AUTO_RELOAD_PAYMENT_FAILURE', SellerAccountInsufficientAvailableBalanceCausedSuspension = 'SELLER_ACCOUNT_INSUFFICIENT_AVAILABLE_BALANCE_CAUSED_SUSPENSION', SellerAccountInsufficientGrossBalanceCausedSuspension = 'SELLER_ACCOUNT_INSUFFICIENT_GROSS_BALANCE_CAUSED_SUSPENSION', @@ -644,7 +667,7 @@ export interface Fee { */ feeIdentifiers?: FeeIdentifiers; /** - * * `PLATFORM_FEE`: Billable fee set at the Rodeo Entity level by internal users which reflects the cost of using the Amazon DSP * Supply Cost * Platform Fee % * `AGENCY_FEE`: Non-billable fee set at the Rodeo Order level by external users which reflects the fee that the agency is charging the end customer * Total Cost * Agency Fee % * `AUDIENCE_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Amazon 1P data segments for campaign targeting * Impressions with Audience Fees * Audience Fee (CPM)/1000 * `3P_[AUTO_]NON_ABSORBED_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Automotive data segments and/or DMP data segments for campaign targeting * Impressions * Billable 3p Fee / 1000 * `REGULATORY_ADVERTISING_FEE`: Fees derive from ads serving in specific countries and/or for ads purchased from advertisers in specific countries during the period in which you are billed. + * * `PLATFORM_FEE`: Billable fee set at the Rodeo Entity level by internal users which reflects the cost of using the Amazon DSP * Supply Cost * Platform Fee % * `AGENCY_FEE`: Non-billable fee set at the Rodeo Order level by external users which reflects the fee that the agency is charging the end customer * Total Cost * Agency Fee % * `AUDIENCE_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Amazon 1P data segments for campaign targeting * Impressions with Audience Fees * Audience Fee (CPM)/1000 * `3P_[AUTO_]NON_ABSORBED_FEE`: Billable fee automatically calculated at the Rodeo Line Item level when external users choose Automotive data segments and/or DMP data segments for campaign targeting * Impressions * Billable 3p Fee / 1000 * `REGULATORY_ADVERTISING_FEE`: Fees derive from ads serving in specific countries and/or for ads purchased from advertisers in specific countries during the period in which you are billed. * `OMNICHANNEL_METRICS_FEE`: Billable fee set at DSP order level by internal users, which reflects the cost of using Omnichannel metrics measurement * Supply Cost * Omnichannel Metrics Fee % * `3P_PREBID_FEE`: Billable fee automatically calculated when external users choose third party prebid targeting products for supply quality filtering. * Impressions with 3P Prebid Fees * 3P Prebid Fee (CPM)/1000 % * @type {string} * @memberof Fee */ @@ -660,7 +683,9 @@ export enum FeeFeeTypeEnum { _3PAutoNonAbsorbedFee = '3P_AUTO_NON_ABSORBED_FEE', _3PNonAbsorbedFee = '3P_NON_ABSORBED_FEE', PlatformFee = 'PLATFORM_FEE', - RegulatoryAdvertisingFee = 'REGULATORY_ADVERTISING_FEE' + OmnichannelMetricsFee = 'OMNICHANNEL_METRICS_FEE', + RegulatoryAdvertisingFee = 'REGULATORY_ADVERTISING_FEE', + _3PPrebidFee = '3P_PREBID_FEE' } /** @@ -677,7 +702,7 @@ export interface FeeIdentifiers { countryCode?: string; } /** - * 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). + * 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 (which will always be a debit in the case of an invoice) and presigned url link to download e-invoice document with expiry time of 45 sec. * @export * @interface GovernmentInvoiceInformation */ @@ -694,6 +719,18 @@ export interface GovernmentInvoiceInformation { * @memberof GovernmentInvoiceInformation */ countryCode?: string; + /** + * PreSigned URL to grant time-limited download access for govt invoice pdf + * @type {string} + * @memberof GovernmentInvoiceInformation + */ + governmentDocumentS3Link?: string; + /** + * PreSigned URL to grant time-limited download access for govt invoice XML + * @type {string} + * @memberof GovernmentInvoiceInformation + */ + governmentXmlDocumentS3Link?: string; /** * Government generated ID * @type {string} @@ -1004,7 +1041,7 @@ export interface InvoiceSummary { * @type {string} * @memberof InvoiceSummary */ - dueDate: string; + dueDate?: string; /** * Date in YYYYMMDD format * @type {string} @@ -1040,7 +1077,7 @@ export interface InvoiceSummary { * @type {string} * @memberof InvoiceSummary */ - purchaseOrderNumber: string; + purchaseOrderNumber?: string; /** * * @type {string} @@ -1052,7 +1089,7 @@ export interface InvoiceSummary { * @type {PaymentMethod} * @memberof InvoiceSummary */ - paymentMethod: PaymentMethod; + paymentMethod?: PaymentMethod; /** * * @type {string} @@ -1103,15 +1140,24 @@ export interface IssuerTaxRegistrationInfo { export enum Locale { ArAe = 'ar_AE', + BnIn = 'bn_IN', CsCz = 'cs_CZ', DeDe = 'de_DE', + EnAe = 'en_AE', EnAu = 'en_AU', EnCa = 'en_CA', EnGb = 'en_GB', EnIn = 'en_IN', + EnNg = 'en_NG', EnSg = 'en_SG', + EnUs = 'en_US', + EnZa = 'en_ZA', + EsCl = 'es_CL', + EsCo = 'es_CO', EsEs = 'es_ES', EsMx = 'es_MX', + EsUs = 'es_US', + FrBe = 'fr_BE', FrCa = 'fr_CA', FrFr = 'fr_FR', HeIl = 'he_IL', @@ -1119,11 +1165,16 @@ export enum Locale { ItIt = 'it_IT', JaJp = 'ja_JP', KoKr = 'ko_KR', + MlIn = 'ml_IN', + MrIn = 'mr_IN', + NlBe = 'nl_BE', NlNl = 'nl_NL', PlPl = 'pl_PL', PtBr = 'pt_BR', + PtPt = 'pt_PT', SvSe = 'sv_SE', TaIn = 'ta_IN', + TeIn = 'te_IN', TrTr = 'tr_TR', ZhCn = 'zh_CN', ZhTw = 'zh_TW' @@ -1438,7 +1489,7 @@ export interface ThirdPartyTaxRegistrationInfo { export const BillingNotificationsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing notifications for a list advertising accounts. * @param {BulkGetBillingNotificationsRequestBody} bulkGetBillingNotificationsRequestBody * @param {*} [options] Override http request option. @@ -1484,7 +1535,7 @@ export const BillingNotificationsApiFp = function(configuration?: Configuration) const localVarAxiosParamCreator = BillingNotificationsApiAxiosParamCreator(configuration) return { /** - * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing notifications for a list advertising accounts. * @param {BulkGetBillingNotificationsRequestBody} bulkGetBillingNotificationsRequestBody * @param {*} [options] Override http request option. @@ -1505,7 +1556,7 @@ export const BillingNotificationsApiFactory = function (configuration?: Configur const localVarFp = BillingNotificationsApiFp(configuration) return { /** - * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing notifications for a list advertising accounts. * @param {BulkGetBillingNotificationsRequestBody} bulkGetBillingNotificationsRequestBody * @param {*} [options] Override http request option. @@ -1539,7 +1590,7 @@ export interface BillingNotificationsApiBulkGetBillingNotificationsRequest { */ export class BillingNotificationsApi extends BaseAPI { /** - * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets an array of all currently valid billing notifications associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing notifications for a list advertising accounts. * @param {BillingNotificationsApiBulkGetBillingNotificationsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -1559,7 +1610,7 @@ export class BillingNotificationsApi extends BaseAPI { export const BillingStatusApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing status for a list of advertising accounts. * @param {BulkGetBillingStatusesRequestBody} bulkGetBillingStatusesRequestBody * @param {*} [options] Override http request option. @@ -1605,7 +1656,7 @@ export const BillingStatusApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = BillingStatusApiAxiosParamCreator(configuration) return { /** - * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing status for a list of advertising accounts. * @param {BulkGetBillingStatusesRequestBody} bulkGetBillingStatusesRequestBody * @param {*} [options] Override http request option. @@ -1626,7 +1677,7 @@ export const BillingStatusApiFactory = function (configuration?: Configuration, const localVarFp = BillingStatusApiFp(configuration) return { /** - * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing status for a list of advertising accounts. * @param {BulkGetBillingStatusesRequestBody} bulkGetBillingStatusesRequestBody * @param {*} [options] Override http request option. @@ -1660,7 +1711,7 @@ export interface BillingStatusApiBulkGetBillingStatusRequest { */ export class BillingStatusApi extends BaseAPI { /** - * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * Gets the current billing status associated for each advertising account. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"adv_billing_view\",\"adv_billing_edit\"] * @summary Get the billing status for a list of advertising accounts. * @param {BillingStatusApiBulkGetBillingStatusRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. diff --git a/src/apis/models/common-creative-assets.ts b/src/apis/models/common-creative-assets.ts index f77efb4..43b9395 100644 --- a/src/apis/models/common-creative-assets.ts +++ b/src/apis/models/common-creative-assets.ts @@ -1,8 +1,8 @@ /* tslint:disable */ /* eslint-disable */ /** - * Creative Assets - * # Overview: Advertisers can use creative assets to store, organize and reuse brand content, such as logos, images, etc. Stored content can be used for Amazon Advertising and on Amazon shopping pages. Creative assets enables brands to provide a consistent shopping experience by easily applying brand content across Amazon. # Workflow **Asset Upload and Registration** *Step 1* - **Get Upload URL** - This step is creating a temporary upload location to which you will be uploading your asset to in the following step. `Request (POST) - /assets/upload` (ensure to include the file name in the body including the file extension as documented in the assets/upload section below) **Response** - `uploadURL` - This is the url location to which you will be uploading your asset in Step 2 *Step 2* - **Upload File** - `Request (PUT) ` **Response** - `200 Success` Once your asset is successfully uploaded to the uploadURL, you can proceed to register this asset. *Step 3* - **Register Asset** - `Request (POST) - /assets/register` **Example Request Body** ``` { \"url\": \"uploadUrl\" \"name\": \"assetName\" \"asinList\": [ \"BXXXXXXXX\" ], \"assetType\": \"IMAGE\", \"assetSubTypeList\": [ \"LOGO\" ], \"versionInfo\": { \"linkedAssetId\": \"amzn1.assetlibrary.asset1.18298129182sfsd435\", \"versionNotes\": \"This version is for Team A\" }, \"tags\": [ \"Awareness\", \"Spring\" ] \"associatedSubEntityList\": [ { \"brandEntityId\": \"string\" //required for sellers } ] } ``` Response - `assetId + version` These can be used on GET assets and is the identifier of the asset you uploaded to Creative Assets. + * Creative assets + * Use the creative assets API to create and manage video and image assets for use in Amazon Ads campaigns. For details on using this API, see [Creatives overview](guides/creative-asset/asset-library-overview). * * The version of the OpenAPI document: 3.0 * @@ -346,7 +346,7 @@ export enum CaAssetStatus { } /** - * 1. For assetType `IMAGE` acceptable assetSubTypes are `LOGO`, `PRODUCT_IMAGE`, `AUTHOR_IMAGE`, `LIFESTYLE_IMAGE`, `OTHER_IMAGE` 2. For assetType `VIDEO` acceptable assetSubtype (optional) is `BACKGROUND_VIDEO`. + * 1. For assetType `IMAGE` acceptable assetSubTypes are `LOGO`, `PRODUCT_IMAGE`, `AUTHOR_IMAGE`, `LIFESTYLE_IMAGE`, `OTHER_IMAGE` 2. For assetType `VIDEO` acceptable assetSubtype is `BACKGROUND_VIDEO`. * @export * @enum {string} */ @@ -1479,7 +1479,7 @@ export const CreativeAssetsApiAxiosParamCreator = function (configuration?: Conf }; }, /** - * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) + * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Creates an upload location to upload an asset. * @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. @@ -1529,7 +1529,7 @@ export const CreativeAssetsApiAxiosParamCreator = function (configuration?: Conf }; }, /** - * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. + * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Registers an uploaded asset with creative assets with optional contextual and tagging information. * @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. @@ -1653,7 +1653,7 @@ export const CreativeAssetsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) + * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Creates an upload location to upload an asset. * @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. @@ -1666,7 +1666,7 @@ export const CreativeAssetsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. + * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Registers an uploaded asset with creative assets with optional contextual and tagging information. * @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. @@ -1715,7 +1715,7 @@ export const CreativeAssetsApiFactory = function (configuration?: Configuration, return localVarFp.getAsset(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, assetId, version, options).then((request) => request(axios, basePath)); }, /** - * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) + * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Creates an upload location to upload an asset. * @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. @@ -1727,7 +1727,7 @@ export const CreativeAssetsApiFactory = function (configuration?: Configuration, return localVarFp.getUploadLocation(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, inlineObject1, options).then((request) => request(axios, basePath)); }, /** - * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. + * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Registers an uploaded asset with creative assets with optional contextual and tagging information. * @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. @@ -1892,7 +1892,7 @@ export class CreativeAssetsApi extends BaseAPI { } /** - * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) + * Creates an ephemeral resource (upload location) to upload Assets to Creative Assets tool. The upload location is short lived and expires in 15 minutes.The upload location only supports PUT HTTP Method to upload the asset content. If the upload location expires, API user will get `403` Forbidden response. * All ad specs - sizes and policies can be found [here](https://advertising.amazon.com/resources/ad-specs/?ref_=a20m_us_hnav_spcs) * Program specific links 1. **Stores** - [here](https://advertising.amazon.com/resources/ad-specs/stores?ref_=a20m_us_spcs_stcrgd) 2. **SB/SBV/sponsored ads** - [here](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies?ref_=a20m_us_spcs_sbv_spcs_spadcap) See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Creates an upload location to upload an asset. * @param {CreativeAssetsApiGetUploadLocationRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -1904,7 +1904,7 @@ export class CreativeAssetsApi extends BaseAPI { } /** - * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. + * The API should be called once the asset is uploaded to the location provided by the /asset/upload API endpoint. See [Creating assets](guides/creative-asset/creating-assets) to understand the call flow. * @summary Registers an uploaded asset with creative assets with optional contextual and tagging information. * @param {CreativeAssetsApiRegisterAssetRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. diff --git a/src/apis/models/common-eligibility.ts b/src/apis/models/common-eligibility.ts index 6739b1f..146cc51 100644 --- a/src/apis/models/common-eligibility.ts +++ b/src/apis/models/common-eligibility.ts @@ -51,6 +51,31 @@ export enum AcceptLanguage { TrTr = 'tr-TR' } +/** + * The action to be performed on the resource. + * @export + * @enum {string} + */ + +export enum Action { + PostalCodeTarget = 'postalCodeTarget', + AdvertiseAsinLess = 'advertiseAsinLess' +} + +/** + * This defines the AdPrograms supported + * @export + * @enum {string} + */ + +export enum AdProgram { + Sb = 'SB', + Sd = 'SD', + Maas = 'MAAS', + Dtc = 'DTC', + Spot = 'SPOT' +} + /** * * @export @@ -77,6 +102,35 @@ export interface BadRequestExceptionResponseContent { */ export type Check = SkipAllBillingChecks; +/** + * The name of all the checks that we would want to skip + * @export + * @enum {string} + */ + +export enum CheckName { + SkipAllBillingChecks = 'skipAllBillingChecks' +} + +/** + * Defines which check we would want to skip + * @export + * @interface CheckV2 + */ +export interface CheckV2 { + /** + * + * @type {CheckName} + * @memberof CheckV2 + */ + name?: CheckName; + /** + * + * @type {boolean} + * @memberof CheckV2 + */ + skip?: boolean; +} /** * The advertising eligibility status of a product. * @export @@ -155,6 +209,241 @@ export interface EligibilityStatusDetail { */ eligible?: boolean; } +/** + * Describes a single program\'s eligibility status + * @export + * @interface EligibilityStatusDetailV2 + */ +export interface EligibilityStatusDetailV2 { + /** + * String identifier for the status. + * @type {Array} + * @memberof EligibilityStatusDetailV2 + */ + reasons?: Array; + /** + * Boolean value where if true, advertiser is eligible to access the given program. + * @type {boolean} + * @memberof EligibilityStatusDetailV2 + */ + eligible?: boolean; + /** + * + * @type {AdProgram} + * @memberof EligibilityStatusDetailV2 + */ + adProgram?: AdProgram; +} +/** + * + * @export + * @interface ExcessiveBatchSizeExceptionResponseContent + */ +export interface ExcessiveBatchSizeExceptionResponseContent { + /** + * Programmatic status code. + * @type {number} + * @memberof ExcessiveBatchSizeExceptionResponseContent + */ + code?: number; + /** + * A human-readable description of the response. + * @type {string} + * @memberof ExcessiveBatchSizeExceptionResponseContent + */ + details?: string; +} +/** + * + * @export + * @interface Feature + */ +export interface Feature { + /** + * The marketplace to check the feature access in (Can be obfuscated or not) Especially useful for global requests + * @type {string} + * @memberof Feature + */ + marketplaceId: string; + /** + * + * @type {Resource} + * @memberof Feature + */ + resource: Resource; + /** + * + * @type {Action} + * @memberof Feature + */ + action: Action; +} +/** + * + * @export + * @enum {string} + */ + +export enum FeatureAcceptLanguage { + EnUs = 'en_US', + ArAe = 'ar_AE', + ZhCn = 'zh_CN', + NlNl = 'nl_NL', + EnAu = 'en_AU', + EnCa = 'en_CA', + EnIn = 'en_IN', + EnGb = 'en_GB', + FrCa = 'fr_CA', + FrFr = 'fr_FR', + DeDe = 'de_DE', + ItIt = 'it_IT', + JaJp = 'ja_JP', + KoKr = 'ko_KR', + PlPl = 'pl_PL', + PtBr = 'pt_BR', + EsEs = 'es_ES', + EsUs = 'es_US', + EsMx = 'es_MX', + TrTr = 'tr_TR' +} + +/** + * + * @export + * @interface FeatureEligibilityError + */ +export interface FeatureEligibilityError { + /** + * The human readable message for the error encountered + * @type {string} + * @memberof FeatureEligibilityError + */ + errorMessage?: string; + /** + * The error code ffor the error encountered + * @type {string} + * @memberof FeatureEligibilityError + */ + errorCode?: string; + /** + * The integer code for the error encountered + * @type {number} + * @memberof FeatureEligibilityError + */ + errorId?: number; + /** + * The id of the item that is Marketplace + Resource + Action + * @type {string} + * @memberof FeatureEligibilityError + */ + itemRequestId?: string; + /** + * The http status code of the item + * @type {number} + * @memberof FeatureEligibilityError + */ + httpStatusCode?: number; +} +/** + * + * @export + * @interface FeatureEligibilityItem + */ +export interface FeatureEligibilityItem { + /** + * The marketplace to check the feature access in, will be obfuscated or not depending on the input + * @type {string} + * @memberof FeatureEligibilityItem + */ + marketplaceId?: string; + /** + * String identifier for the status. + * @type {Array} + * @memberof FeatureEligibilityItem + */ + reasons?: Array; + /** + * + * @type {Resource} + * @memberof FeatureEligibilityItem + */ + resource?: Resource; + /** + * + * @type {Action} + * @memberof FeatureEligibilityItem + */ + action?: Action; + /** + * Boolean value where if true, advertiser is eligible to access the given feature. + * @type {boolean} + * @memberof FeatureEligibilityItem + */ + isEligible?: boolean; + /** + * The id of the item that is Marketplace + Resource + Action + * @type {string} + * @memberof FeatureEligibilityItem + */ + itemRequestId?: string; + /** + * the http status code of the item + * @type {number} + * @memberof FeatureEligibilityItem + */ + httpStatusCode?: number; +} +/** + * A request to evaluate feature eligibility + * @export + * @interface FeatureEligibilityRequestContent + */ +export interface FeatureEligibilityRequestContent { + /** + * The List of features and marketplaces of which you wish the feature to be evalulated in + * @type {Array} + * @memberof FeatureEligibilityRequestContent + */ + features: Array; +} +/** + * A list of feature eligibility responses for an advertiser, split by success and error + * @export + * @interface FeatureEligibilityResponseContent + */ +export interface FeatureEligibilityResponseContent { + /** + * + * @type {Array} + * @memberof FeatureEligibilityResponseContent + */ + success?: Array; + /** + * + * @type {Array} + * @memberof FeatureEligibilityResponseContent + */ + error?: Array; +} +/** + * + * @export + * @interface FeatureReasonItem + */ +export interface FeatureReasonItem { + /** + * + * @type {ReasonCode} + * @memberof FeatureReasonItem + */ + code?: ReasonCode; + /** + * Message explaining what the status means. Example: Payment preference not found for associated billing account. Please add a new payment method + * @type {string} + * @memberof FeatureReasonItem + */ + description?: string; +} /** * * @export @@ -185,6 +474,31 @@ export interface InternalServerErrorExceptionResponseContent { */ details?: string; } +/** + * + * @export + * @interface MarketplaceEntitiesEligibilityStatusList + */ +export interface MarketplaceEntitiesEligibilityStatusList { + /** + * + * @type {string} + * @memberof MarketplaceEntitiesEligibilityStatusList + */ + marketplaceId?: string; + /** + * + * @type {string} + * @memberof MarketplaceEntitiesEligibilityStatusList + */ + entityId?: string; + /** + * This is a map that will be key\'d on the ad program (SB/SD/DTC/MAAS/SPOT); the value will be an eligibility object. + * @type {Array} + * @memberof MarketplaceEntitiesEligibilityStatusList + */ + eligibilityStatusList?: Array; +} /** * * @export @@ -328,7 +642,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,12 +661,56 @@ 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/SPOT); the value will be an eligibility object. * @type {{ [key: string]: EligibilityStatusDetail; }} * @memberof ProgramEligibilityResponseContent */ eligibilityStatusMap?: { [key: string]: EligibilityStatusDetail; }; } +/** + * A request to evaluate account level eligibility for Amazon ad programs (Sponsored Products, Sponsored Brands, Sponsored Display, Stores, DirectToConsumer, Amazon Attribution, etc). + * @export + * @interface ProgramEligibilityV2RequestContent + */ +export interface ProgramEligibilityV2RequestContent { + /** + * Specify what check, if at all, we want to skip. + * @type {Array} + * @memberof ProgramEligibilityV2RequestContent + */ + skipChecks?: Array; + /** + * Max results for pagination + * @type {number} + * @memberof ProgramEligibilityV2RequestContent + */ + maxResults?: number; + /** + * The pagination token that is required to go to the next page + * @type {string} + * @memberof ProgramEligibilityV2RequestContent + */ + nextToken?: string; +} +/** + * An object of program eligibility responses for an advertiser. + * @export + * @interface ProgramEligibilityV2ResponseContent + */ +export interface ProgramEligibilityV2ResponseContent { + /** + * + * @type {Array} + * @memberof ProgramEligibilityV2ResponseContent + */ + eligibilityStatusLists?: Array; + /** + * token value allowing to navigate to the next response page + * @type {string} + * @memberof ProgramEligibilityV2ResponseContent + */ + nextToken?: string; +} /** * * @export @@ -394,6 +752,7 @@ export enum ReasonCode { NoTacticEnabled = 'NO_TACTIC_ENABLED', DirectToConsumerOwnerTagIdNotFound = 'DIRECT_TO_CONSUMER_OWNER_TAG_ID_NOT_FOUND', DirectToConsumerSubscriptionNotFound = 'DIRECT_TO_CONSUMER_SUBSCRIPTION_NOT_FOUND', + SubscriptionNotFound = 'SUBSCRIPTION_NOT_FOUND', AdvertisingAccountNotFound = 'ADVERTISING_ACCOUNT_NOT_FOUND', NotLaunchedInMarketplace = 'NOT_LAUNCHED_IN_MARKETPLACE', Unknown = 'UNKNOWN', @@ -425,6 +784,17 @@ export interface ReasonItem { */ description?: string; } +/** + * The advertising resource of which you wish to check feature access for. Example: Sponsored Display Campaign. + * @export + * @enum {string} + */ + +export enum Resource { + Campaigns = 'sd:campaigns', + Campaignsaudiences = 'sd:campaigns:audiences' +} + /** * * @export @@ -618,26 +988,19 @@ export class ProductEligibilityApi extends BaseAPI { export const ProgramEligibilityApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Checks the advertiser\'s eligibility to ad programs. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Checks the advertiser\'s eligibility to ad programs. * @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} advertiserId Advertiser ID populated from the federated gateway authorizer context * @param {AcceptLanguage} [acceptLanguage] Specify the language in which the response is returned. - * @param {string} [entityId] Entity ID populated from the federated gateway authorizer context - * @param {string} [entityType] Entity type (seller, vendor, author, etc) populated from the federated gateway authorizer context. Note, must be a Seller Central Entity. - * @param {string} [marketplaceId] Marketplace ID populated from the federated gateway authorizer context - * @param {string} [obfuscatedMarketplaceId] Obfuscated Marketplace ID populated from the federated gateway authorizer context, this is included in case marketplace ID is not included + * @param {string} [amazonAdsAccountID] The header used to pass global account associated with the advertiser account Use `GET` method on the Global Ads Account resource to list the global ads account associated with the access token passed in the HTTP Authorization header and choose AdvertisingAccountIdentifier id from the response to pass it as input. Use for v2 global calls + * @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} [contentType] The content type of the request. * @param {ProgramEligibilityRequestContent} [programEligibilityRequestContent] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - programEligibility: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, advertiserId: string, acceptLanguage?: AcceptLanguage, entityId?: string, entityType?: string, marketplaceId?: string, obfuscatedMarketplaceId?: string, programEligibilityRequestContent?: ProgramEligibilityRequestContent, options: any = {}): Promise => { + programEligibility: async (amazonAdvertisingAPIClientId: string, acceptLanguage?: AcceptLanguage, amazonAdsAccountID?: string, amazonAdvertisingAPIScope?: string, contentType?: string, programEligibilityRequestContent?: ProgramEligibilityRequestContent, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('programEligibility', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) - // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined - assertParamExists('programEligibility', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - // verify required parameter 'advertiserId' is not null or undefined - assertParamExists('programEligibility', 'advertiserId', advertiserId) const localVarPath = `/eligibility/programs`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -654,6 +1017,10 @@ export const ProgramEligibilityApiAxiosParamCreator = function (configuration?: localVarHeaderParameter['Accept-Language'] = String(JSON.stringify(acceptLanguage)); } + if (amazonAdsAccountID !== undefined && amazonAdsAccountID !== null) { + localVarHeaderParameter['Amazon-Ads-Account-ID'] = String(amazonAdsAccountID); + } + if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) { localVarHeaderParameter['Amazon-Advertising-API-ClientId'] = String(amazonAdvertisingAPIClientId); } @@ -662,24 +1029,8 @@ export const ProgramEligibilityApiAxiosParamCreator = function (configuration?: localVarHeaderParameter['Amazon-Advertising-API-Scope'] = String(amazonAdvertisingAPIScope); } - if (advertiserId !== undefined && advertiserId !== null) { - localVarHeaderParameter['advertiserId'] = String(advertiserId); - } - - if (entityId !== undefined && entityId !== null) { - localVarHeaderParameter['entityId'] = String(entityId); - } - - if (entityType !== undefined && entityType !== null) { - localVarHeaderParameter['entityType'] = String(entityType); - } - - if (marketplaceId !== undefined && marketplaceId !== null) { - localVarHeaderParameter['marketplaceId'] = String(marketplaceId); - } - - if (obfuscatedMarketplaceId !== undefined && obfuscatedMarketplaceId !== null) { - localVarHeaderParameter['obfuscatedMarketplaceId'] = String(obfuscatedMarketplaceId); + if (contentType !== undefined && contentType !== null) { + localVarHeaderParameter['Content-Type'] = String(contentType); } @@ -707,21 +1058,18 @@ export const ProgramEligibilityApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = ProgramEligibilityApiAxiosParamCreator(configuration) return { /** - * Checks the advertiser\'s eligibility to ad programs. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Checks the advertiser\'s eligibility to ad programs. * @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} advertiserId Advertiser ID populated from the federated gateway authorizer context * @param {AcceptLanguage} [acceptLanguage] Specify the language in which the response is returned. - * @param {string} [entityId] Entity ID populated from the federated gateway authorizer context - * @param {string} [entityType] Entity type (seller, vendor, author, etc) populated from the federated gateway authorizer context. Note, must be a Seller Central Entity. - * @param {string} [marketplaceId] Marketplace ID populated from the federated gateway authorizer context - * @param {string} [obfuscatedMarketplaceId] Obfuscated Marketplace ID populated from the federated gateway authorizer context, this is included in case marketplace ID is not included + * @param {string} [amazonAdsAccountID] The header used to pass global account associated with the advertiser account Use `GET` method on the Global Ads Account resource to list the global ads account associated with the access token passed in the HTTP Authorization header and choose AdvertisingAccountIdentifier id from the response to pass it as input. Use for v2 global calls + * @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} [contentType] The content type of the request. * @param {ProgramEligibilityRequestContent} [programEligibilityRequestContent] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async programEligibility(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, advertiserId: string, acceptLanguage?: AcceptLanguage, entityId?: string, entityType?: string, marketplaceId?: string, obfuscatedMarketplaceId?: string, programEligibilityRequestContent?: ProgramEligibilityRequestContent, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.programEligibility(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, advertiserId, acceptLanguage, entityId, entityType, marketplaceId, obfuscatedMarketplaceId, programEligibilityRequestContent, options); + async programEligibility(amazonAdvertisingAPIClientId: string, acceptLanguage?: AcceptLanguage, amazonAdsAccountID?: string, amazonAdvertisingAPIScope?: string, contentType?: string, programEligibilityRequestContent?: ProgramEligibilityRequestContent, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.programEligibility(amazonAdvertisingAPIClientId, acceptLanguage, amazonAdsAccountID, amazonAdvertisingAPIScope, contentType, programEligibilityRequestContent, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } @@ -735,21 +1083,18 @@ export const ProgramEligibilityApiFactory = function (configuration?: Configurat const localVarFp = ProgramEligibilityApiFp(configuration) return { /** - * Checks the advertiser\'s eligibility to ad programs. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Checks the advertiser\'s eligibility to ad programs. * @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} advertiserId Advertiser ID populated from the federated gateway authorizer context * @param {AcceptLanguage} [acceptLanguage] Specify the language in which the response is returned. - * @param {string} [entityId] Entity ID populated from the federated gateway authorizer context - * @param {string} [entityType] Entity type (seller, vendor, author, etc) populated from the federated gateway authorizer context. Note, must be a Seller Central Entity. - * @param {string} [marketplaceId] Marketplace ID populated from the federated gateway authorizer context - * @param {string} [obfuscatedMarketplaceId] Obfuscated Marketplace ID populated from the federated gateway authorizer context, this is included in case marketplace ID is not included + * @param {string} [amazonAdsAccountID] The header used to pass global account associated with the advertiser account Use `GET` method on the Global Ads Account resource to list the global ads account associated with the access token passed in the HTTP Authorization header and choose AdvertisingAccountIdentifier id from the response to pass it as input. Use for v2 global calls + * @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} [contentType] The content type of the request. * @param {ProgramEligibilityRequestContent} [programEligibilityRequestContent] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - programEligibility(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, advertiserId: string, acceptLanguage?: AcceptLanguage, entityId?: string, entityType?: string, marketplaceId?: string, obfuscatedMarketplaceId?: string, programEligibilityRequestContent?: ProgramEligibilityRequestContent, options?: any): AxiosPromise { - return localVarFp.programEligibility(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, advertiserId, acceptLanguage, entityId, entityType, marketplaceId, obfuscatedMarketplaceId, programEligibilityRequestContent, options).then((request) => request(axios, basePath)); + programEligibility(amazonAdvertisingAPIClientId: string, acceptLanguage?: AcceptLanguage, amazonAdsAccountID?: string, amazonAdvertisingAPIScope?: string, contentType?: string, programEligibilityRequestContent?: ProgramEligibilityRequestContent, options?: any): AxiosPromise { + return localVarFp.programEligibility(amazonAdvertisingAPIClientId, acceptLanguage, amazonAdsAccountID, amazonAdvertisingAPIScope, contentType, programEligibilityRequestContent, options).then((request) => request(axios, basePath)); }, }; }; @@ -767,20 +1112,6 @@ export interface ProgramEligibilityApiProgramEligibilityRequest { */ 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 ProgramEligibilityApiProgramEligibility - */ - readonly amazonAdvertisingAPIScope: string - - /** - * Advertiser ID populated from the federated gateway authorizer context - * @type {string} - * @memberof ProgramEligibilityApiProgramEligibility - */ - readonly advertiserId: string - /** * Specify the language in which the response is returned. * @type {AcceptLanguage} @@ -789,32 +1120,25 @@ export interface ProgramEligibilityApiProgramEligibilityRequest { readonly acceptLanguage?: AcceptLanguage /** - * Entity ID populated from the federated gateway authorizer context + * The header used to pass global account associated with the advertiser account Use `GET` method on the Global Ads Account resource to list the global ads account associated with the access token passed in the HTTP Authorization header and choose AdvertisingAccountIdentifier id from the response to pass it as input. Use for v2 global calls * @type {string} * @memberof ProgramEligibilityApiProgramEligibility */ - readonly entityId?: string + readonly amazonAdsAccountID?: string /** - * Entity type (seller, vendor, author, etc) populated from the federated gateway authorizer context. Note, must be a Seller Central Entity. - * @type {string} - * @memberof ProgramEligibilityApiProgramEligibility - */ - readonly entityType?: string - - /** - * Marketplace ID populated from the federated gateway authorizer context + * 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 ProgramEligibilityApiProgramEligibility */ - readonly marketplaceId?: string + readonly amazonAdvertisingAPIScope?: string /** - * Obfuscated Marketplace ID populated from the federated gateway authorizer context, this is included in case marketplace ID is not included + * The content type of the request. * @type {string} * @memberof ProgramEligibilityApiProgramEligibility */ - readonly obfuscatedMarketplaceId?: string + readonly contentType?: string /** * @@ -832,14 +1156,14 @@ export interface ProgramEligibilityApiProgramEligibilityRequest { */ export class ProgramEligibilityApi extends BaseAPI { /** - * Checks the advertiser\'s eligibility to ad programs. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Checks the advertiser\'s eligibility to ad programs. * @param {ProgramEligibilityApiProgramEligibilityRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProgramEligibilityApi */ public programEligibility(requestParameters: ProgramEligibilityApiProgramEligibilityRequest, options?: any) { - return ProgramEligibilityApiFp(this.configuration).programEligibility(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.advertiserId, requestParameters.acceptLanguage, requestParameters.entityId, requestParameters.entityType, requestParameters.marketplaceId, requestParameters.obfuscatedMarketplaceId, requestParameters.programEligibilityRequestContent, options).then((request) => request(this.axios, this.basePath)); + return ProgramEligibilityApiFp(this.configuration).programEligibility(requestParameters.amazonAdvertisingAPIClientId, requestParameters.acceptLanguage, requestParameters.amazonAdsAccountID, requestParameters.amazonAdvertisingAPIScope, requestParameters.contentType, requestParameters.programEligibilityRequestContent, options).then((request) => request(this.axios, this.basePath)); } } diff --git a/src/apis/models/common-localization.ts b/src/apis/models/common-localization.ts index 435fee7..13eb79d 100644 --- a/src/apis/models/common-localization.ts +++ b/src/apis/models/common-localization.ts @@ -1105,13 +1105,13 @@ export interface TargetingExpressionLocalizationRequest { */ targetDetailsList: Array; /** - * The locale to which the caller wishes to translate the localized targeting expressions to. For example, if the caller is resolving targeted expressions from British English (en_GB) to Simplified Chinese (zh_CN), the locale is zh_CN. If no locale is provided, the response will not have any resolved targeting expressions for the localized targeting expressions. + * The locale to which the caller wishes to retrieve the human readable string (e.g. category name instead of category id) of the localized targeting expressions. For example, if the caller wishes to retrieve the category name in Simplified Chinese (zh_CN) of a targeting expression containing a category id that has been localized, the targetResolvedTargetingExpressionLocale should be set to zh_CN. If no targetResolvedTargetingExpressionLocale is provided, the response will not have any resolved targeting expressions for the localized targeting expressions. * @type {string} * @memberof TargetingExpressionLocalizationRequest */ targetResolvedTargetingExpressionLocale?: string; /** - * The locales to which the caller wishes to translate the source targeting expressions to. For example, if the caller is resolving targeted expressions from British English (en_GB) to Simplified Chinese (zh_CN), the locale is zh_CN. If no locales are provided, the response will not have any resolved targeting expressions for the source targeting expressions. + * The locales to which the caller wishes to retrieve the human readable string (e.g. category name instead of category id) of the source targeting expressions. For example, if the caller wishes to retrieve the category name in Simplified Chinese (zh_CN) and US English (en_US) of the input targeting expression containing a category id, sourceResolvedTargetingExpressionLocales should be set to [\"zh_CN\", \"en_US\"]. If no sourceResolvedTargetingExpressionLocales is provided, the response will not have any resolved targeting expressions for the source targeting expressions. This field can be used to retrieve translations of various targeting expressions. Currently supports the translations of Categories, Genre refinement, and Age Range refinement. * @type {Array} * @memberof TargetingExpressionLocalizationRequest */ diff --git a/src/apis/models/common-product-meta-data.ts b/src/apis/models/common-product-meta-data.ts index 53f6beb..2602287 100644 --- a/src/apis/models/common-product-meta-data.ts +++ b/src/apis/models/common-product-meta-data.ts @@ -92,7 +92,7 @@ export interface Deal { */ export interface LegacyEligibility { /** - * List of ineligibile status identifier + * List of ineligible status identifier * @type {Array} * @memberof LegacyEligibility */ @@ -247,7 +247,7 @@ export interface ProductInfoModel { */ tvPreviewMetadata?: TvPreviewMetadata; /** - * List of ineligibile status identifier + * List of ineligible status identifier * @type {Array} * @memberof ProductInfoModel */ @@ -393,7 +393,7 @@ export interface ProductMetadataModel { */ priceToPay?: PriceToPay; /** - * List of ineligibile status identifier + * List of ineligible status identifier * @type {Array} * @memberof ProductMetadataModel */ @@ -490,7 +490,7 @@ export interface ProductMetadataRequest { */ asins?: Array; /** - * Whether item details such as name, image, and price is required + * Whether item details such as name, image, and price is required. * @type {boolean} * @memberof ProductMetadataRequest */ @@ -508,7 +508,7 @@ export interface ProductMetadataRequest { */ adType?: ProductMetadataRequestAdTypeEnum; /** - * Specific skus to search for in the advertiser\'s inventory. Currently only support SP program type for sellers. Cannot use together with asins or searchStr input types + * Specific SKUs to search for in the advertiser\'s inventory. Currently only support SP program type for sellers. Cannot use together with asins or searchStr input types. * @type {Array} * @memberof ProductMetadataRequest */ @@ -520,13 +520,13 @@ export interface ProductMetadataRequest { */ checkEligibility?: boolean; /** - * Specific string in the item title to search for in the advertiser\'s inventory. Case insensitive. Cannot use together with asins or skus input types + * Specific string in the item title to search for in the advertiser\'s inventory. Case insensitive. Cannot use together with asins or skus input types. * @type {string} * @memberof ProductMetadataRequest */ searchStr?: string; /** - * Index of the page to be returned; For author, this value will be ignored, should use cursorToken instead. + * Index of the page to be returned; For author, this value will be ignored, should use cursorToken instead. For seller, results are capped at 10k(pageIndex * pageSize). For vendor, results are capped at 50k. * @type {number} * @memberof ProductMetadataRequest */ @@ -538,7 +538,7 @@ export interface ProductMetadataRequest { */ sortOrder?: ProductMetadataRequestSortOrderEnum; /** - * Number of items to be returned on this page index + * Number of items to be returned on this page index. * @type {number} * @memberof ProductMetadataRequest */ @@ -699,8 +699,8 @@ export const ProductSelectorApiAxiosParamCreator = function (configuration?: Con /** * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Returns product metadata for the advertiser - * @param {string} amazonAdvertisingAPIClientId The client identifier of the customer making the request. - * @param {string} amazonAdvertisingAPIScope The profile or entity identifier associated with the advertiser account. + * @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 {ProductMetadataRequest} productMetadataRequest * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -759,8 +759,8 @@ export const ProductSelectorApiFp = function(configuration?: Configuration) { /** * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Returns product metadata for the advertiser - * @param {string} amazonAdvertisingAPIClientId The client identifier of the customer making the request. - * @param {string} amazonAdvertisingAPIScope The profile or entity identifier associated with the advertiser account. + * @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 {ProductMetadataRequest} productMetadataRequest * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -782,8 +782,8 @@ export const ProductSelectorApiFactory = function (configuration?: Configuration /** * **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Returns product metadata for the advertiser - * @param {string} amazonAdvertisingAPIClientId The client identifier of the customer making the request. - * @param {string} amazonAdvertisingAPIScope The profile or entity identifier associated with the advertiser account. + * @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 {ProductMetadataRequest} productMetadataRequest * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -801,14 +801,14 @@ export const ProductSelectorApiFactory = function (configuration?: Configuration */ export interface ProductSelectorApiProductMetadataRequest { /** - * The client identifier of the customer making the request. + * The identifier of a client associated with a \"Login with Amazon\" account. * @type {string} * @memberof ProductSelectorApiProductMetadata */ readonly amazonAdvertisingAPIClientId: string /** - * The profile or entity identifier associated with the advertiser account. + * 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 ProductSelectorApiProductMetadata */ diff --git a/src/apis/models/data-provider.ts b/src/apis/models/data-provider.ts index 752c015..7154f59 100644 --- a/src/apis/models/data-provider.ts +++ b/src/apis/models/data-provider.ts @@ -2,7 +2,7 @@ /* eslint-disable */ /** * Amazon Ads API for Data Providers. - * Use to create, read, or update audience metadata and to add or remove audience records. For onboarding information, see [_setting up for the Amazon Ads API_](../setting-up/account-setup). + * Use to create, read, or update audience metadata and to add or remove audience records. For onboarding information, see [_setting up for the Amazon Ads API_](../guides/onboarding/overview). * * The version of the OpenAPI document: 3.0 * diff --git a/src/apis/models/dsp-measurement.ts b/src/apis/models/dsp-measurement.ts index 1ccfe36..87178bf 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} @@ -2931,267 +2949,3853 @@ export enum FundingTypeV1M3 { } /** - * The grid question response object. Only applicable for SINGLE_SELECT_GRID type question. + * The request object for fetching measurement studies. * @export - * @interface GridQuestionResponsesV1M1 + * @interface GetMeasurementStudies */ -export interface GridQuestionResponsesV1M1 { +export interface GetMeasurementStudies { /** - * - * @type {Array} - * @memberof GridQuestionResponsesV1M1 + * Study canonical identifier to filter with. + * @type {Array} + * @memberof GetMeasurementStudies */ - columns?: Array; + studyIds?: Array; /** - * - * @type {Array} - * @memberof GridQuestionResponsesV1M1 + * The advertiser canonical identifier. Either one of studyIds or advertiserId should be provided. + * @type {string} + * @memberof GetMeasurementStudies */ - rows?: Array; -} -/** - * The measurement country. - * @export - * @enum {string} - */ - -export enum MeasurementCountryV1 { - Us = 'US', - Ca = 'CA', - Uk = 'UK', - De = 'DE', - It = 'IT', - Es = 'ES', - Fr = 'FR', - Jp = 'JP', - Mx = 'MX', - Ae = 'AE', - Au = 'AU', - Nl = 'NL', - Br = 'BR' + advertiserId?: string; } - /** - * The measurement budget optimization goal type goal. + * The request object for audience research study. * @export - * @enum {string} + * @interface GetMeasurementStudiesAudienceResearch */ - -export enum MeasurementGoalV1 { - EngagementWithMyAd = 'ENGAGEMENT_WITH_MY_AD', - ConsiderationsOnAmazon = 'CONSIDERATIONS_ON_AMAZON', - ConversionsOffAmazon = 'CONVERSIONS_OFF_AMAZON', - PurchasesOnAmazon = 'PURCHASES_ON_AMAZON', - MobileAppInstalls = 'MOBILE_APP_INSTALLS', - Awareness = 'AWARENESS' +export interface GetMeasurementStudiesAudienceResearch { + /** + * Study canonical identifier to filter with. + * @type {Array} + * @memberof GetMeasurementStudiesAudienceResearch + */ + studyIds?: Array; + /** + * The advertiser canonical identifier. Used for querying audience research studies for a DSP advertiser Account. + * @type {string} + * @memberof GetMeasurementStudiesAudienceResearch + */ + advertiserId?: string; } - /** - * The measurement locale. + * The request object for fetching audience research study results of a specific study. * @export - * @enum {string} + * @interface GetMeasurementStudiesAudienceResearchResult */ - -export enum MeasurementLocaleV1 { - EnUs = 'EN_US' +export interface GetMeasurementStudiesAudienceResearchResult { + /** + * The canonical identifier that represents a unique study. + * @type {string} + * @memberof GetMeasurementStudiesAudienceResearchResult + */ + studyId?: string; } - /** - * The marketplace with corresponding rules. + * The request object for fetching brand lift studies. * @export - * @interface MeasurementMarketplaceV1 + * @interface GetMeasurementStudiesBrandLift */ -export interface MeasurementMarketplaceV1 { - /** - * - * @type {MeasurementCountryV1} - * @memberof MeasurementMarketplaceV1 - */ - country?: MeasurementCountryV1; +export interface GetMeasurementStudiesBrandLift { /** - * - * @type {Array} - * @memberof MeasurementMarketplaceV1 + * Study canonical identifier to filter with. + * @type {Array} + * @memberof GetMeasurementStudiesBrandLift */ - supportedLocales?: Array; + studyIds?: Array; /** - * The minimum impressions. - * @type {number} - * @memberof MeasurementMarketplaceV1 + * The advertiser canonical identifier. Used for querying brand lift studies for a DSP advertiser Account. + * @type {string} + * @memberof GetMeasurementStudiesBrandLift */ - minimumImpressions?: number; + advertiserId?: string; +} +/** + * The request object for fetching brand lift results of a specific study. + * @export + * @interface GetMeasurementStudiesBrandLiftResult + */ +export interface GetMeasurementStudiesBrandLiftResult { /** - * The minimum budget. Expressed in dollars. - * @type {number} - * @memberof MeasurementMarketplaceV1 + * The canonical identifier that represents a unique study. + * @type {string} + * @memberof GetMeasurementStudiesBrandLiftResult */ - minimumBudget?: number; + studyId?: string; } /** - * The request object to fetch brands to be used in the OMNICHANNEL_METRICS vendor product. + * The request object for fetching creative testing studies. * @export - * @interface OmnichannelMetricsBrandSearchRequestV1M2 + * @interface GetMeasurementStudiesCreativeTesting */ -export interface OmnichannelMetricsBrandSearchRequestV1M2 { +export interface GetMeasurementStudiesCreativeTesting { /** - * List of brandIds in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided. + * Study canonical identifier to filter with. * @type {Array} - * @memberof OmnichannelMetricsBrandSearchRequestV1M2 + * @memberof GetMeasurementStudiesCreativeTesting */ - brandIdFilter?: Array; + studyIds?: Array; /** - * Text to search for eligible brands in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided. + * The advertiser canonical identifier. Used for querying creative testing studies for a DSP advertiser Account. * @type {string} - * @memberof OmnichannelMetricsBrandSearchRequestV1M2 + * @memberof GetMeasurementStudiesCreativeTesting */ - brandNameSearch?: string; + advertiserId?: string; } /** - * + * The request object for fetching creative testing results of a specific study. * @export - * @interface OmnichannelMetricsBrandV1M2 + * @interface GetMeasurementStudiesCreativeTestingResult */ -export interface OmnichannelMetricsBrandV1M2 { +export interface GetMeasurementStudiesCreativeTestingResult { /** - * + * The canonical identifier that represents a unique study. * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * @memberof GetMeasurementStudiesCreativeTestingResult */ - company?: string; + studyId?: string; +} +/** + * The request object for fetching omnichannel metrics study. + * @export + * @interface GetMeasurementStudiesOmnichannelMetrics + */ +export interface GetMeasurementStudiesOmnichannelMetrics { /** - * The brand canonical Id - * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * Study canonical identifier to filter with. + * @type {Array} + * @memberof GetMeasurementStudiesOmnichannelMetrics */ - id?: string; + studyIds?: Array; /** - * + * The advertiser canonical identifier. Used for querying omnichannel studies for a DSP advertiser Account. * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * @memberof GetMeasurementStudiesOmnichannelMetrics */ - category?: string; + advertiserId?: string; +} +/** + * The request object for fetching omnichannel metrics results of a specific study. + * @export + * @interface GetMeasurementStudiesOmnichannelMetricsResult + */ +export interface GetMeasurementStudiesOmnichannelMetricsResult { /** - * + * The canonical identifier that represents a unique study. * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * @memberof GetMeasurementStudiesOmnichannelMetricsResult */ - subcategory?: string; + studyId?: string; +} +/** + * The request object for fetching reach and frequency studies. + * @export + * @interface GetMeasurementStudiesReachAndFrequency + */ +export interface GetMeasurementStudiesReachAndFrequency { /** - * The brand name. - * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * Study canonical identifier to filter with. + * @type {Array} + * @memberof GetMeasurementStudiesReachAndFrequency */ - brand?: string; + studyIds?: Array; /** - * + * The advertiser canonical identifier. Used for querying reach and frequency studies for a DSP advertiser Account. * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * @memberof GetMeasurementStudiesReachAndFrequency */ - majorBrand?: string; + advertiserId?: string; +} +/** + * The request object for fetching reach and frequency results of a specific study. + * @export + * @interface GetMeasurementStudiesReachAndFrequencyResult + */ +export interface GetMeasurementStudiesReachAndFrequencyResult { /** - * + * The canonical identifier that represents a unique study. * @type {string} - * @memberof OmnichannelMetricsBrandV1M2 + * @memberof GetMeasurementStudiesReachAndFrequencyResult */ - manufacturer?: string; + studyId?: string; } /** - * A list of studies. + * The request object for fetching measurement studies based on surveys. * @export - * @interface PaginatedBaseStudiesV1 + * @interface GetMeasurementStudiesSurvey */ -export interface PaginatedBaseStudiesV1 { +export interface GetMeasurementStudiesSurvey { /** - * + * A study canonical identifier. Either one of surveyIds or studyId should be provided. * @type {string} - * @memberof PaginatedBaseStudiesV1 + * @memberof GetMeasurementStudiesSurvey */ - nextToken?: string; + studyId?: string; /** - * - * @type {Array} - * @memberof PaginatedBaseStudiesV1 + * Survey canonical identifier to filter with. Either one of surveyIds or studyId should be provided. + * @type {Array} + * @memberof GetMeasurementStudiesSurvey */ - measurements?: Array; + surveyIds?: Array; } /** - * A list of studies. + * The request object for fetching survey question templates of a specific vendor product. * @export - * @interface PaginatedBaseStudiesV1M1 + * @interface GetMeasurementStudiesSurveyQuestionTemplate */ -export interface PaginatedBaseStudiesV1M1 { +export interface GetMeasurementStudiesSurveyQuestionTemplate { /** - * + * Vendor product canonical identifier to filter with. * @type {string} - * @memberof PaginatedBaseStudiesV1M1 + * @memberof GetMeasurementStudiesSurveyQuestionTemplate */ - nextToken?: string; + vendorProductId?: string; +} +/** + * The request object for fetching vendor product policies of specific vendor products. + * @export + * @interface GetMeasurementStudiesVendorProductPolicy + */ +export interface GetMeasurementStudiesVendorProductPolicy { /** - * - * @type {Array} - * @memberof PaginatedBaseStudiesV1M1 + * Vendor product canonical identifier to filter with. + * @type {Array} + * @memberof GetMeasurementStudiesVendorProductPolicy */ - measurements?: Array; + vendorProductIds?: Array; } /** - * A list of audience research studies. + * The grid question response object. Only applicable for SINGLE_SELECT_GRID type question. * @export - * @interface PaginatedDSPAudienceResearchStudiesV1M2 + * @interface GridQuestionResponsesV1M1 */ -export interface PaginatedDSPAudienceResearchStudiesV1M2 { +export interface GridQuestionResponsesV1M1 { /** * - * @type {string} - * @memberof PaginatedDSPAudienceResearchStudiesV1M2 + * @type {Array} + * @memberof GridQuestionResponsesV1M1 */ - nextToken?: string; + columns?: Array; /** * - * @type {Array} - * @memberof PaginatedDSPAudienceResearchStudiesV1M2 + * @type {Array} + * @memberof GridQuestionResponsesV1M1 */ - measurements?: Array; + rows?: Array; } /** - * A list of studies. + * The response object to get fee for a Audience Research study. * @export - * @interface PaginatedDSPBrandLiftStudiesV1 + * @interface MeasurementAudienceResearchFee */ -export interface PaginatedDSPBrandLiftStudiesV1 { +export interface MeasurementAudienceResearchFee { /** - * - * @type {string} - * @memberof PaginatedDSPBrandLiftStudiesV1 + * The fee for the Study. Check currencyCode field for the currency in which this field is expressed. + * @type {number} + * @memberof MeasurementAudienceResearchFee */ - nextToken?: string; + fee?: number; /** * - * @type {Array} - * @memberof PaginatedDSPBrandLiftStudiesV1 + * @type {MeasurementStudiesCurrencyCode} + * @memberof MeasurementAudienceResearchFee */ - measurements?: Array; + currencyCode?: MeasurementStudiesCurrencyCode; } /** - * A list of studies. + * The request object to get fee for a Audience Research study. * @export - * @interface PaginatedDSPBrandLiftStudiesV1M1 + * @interface MeasurementAudienceResearchFeeRequest */ -export interface PaginatedDSPBrandLiftStudiesV1M1 { +export interface MeasurementAudienceResearchFeeRequest { /** - * + * vendor product canonical identifier. * @type {string} - * @memberof PaginatedDSPBrandLiftStudiesV1M1 + * @memberof MeasurementAudienceResearchFeeRequest */ - nextToken?: string; + vendorProductId?: string; /** - * - * @type {Array} - * @memberof PaginatedDSPBrandLiftStudiesV1M1 + * A list of templated survey questions. + * @type {Array} + * @memberof MeasurementAudienceResearchFeeRequest */ - measurements?: Array; + templatedShortQuestions?: Array; + /** + * The associated DSP advertiser identifier. Mandatory field for DSP clients. + * @type {string} + * @memberof MeasurementAudienceResearchFeeRequest + */ + advertiserId?: string; } /** - * A list of creative testing studies. + * AUDIENCE_RESEARCH study object. + * @export + * @interface MeasurementAudienceResearchStudy + */ +export interface MeasurementAudienceResearchStudy { + /** + * List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available. + * @type {Array} + * @memberof MeasurementAudienceResearchStudy + */ + statusReasons?: Array; + /** + * The study survey canonical identifier. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + surveyId?: string; + /** + * The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + endDate?: string; + /** + * + * @type {MeasurementStudiesResourceLink} + * @memberof MeasurementAudienceResearchStudy + */ + link?: MeasurementStudiesResourceLink; + /** + * Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + externalReferenceId?: string; + /** + * Associated vendor product canonical identifier. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + vendorProductId?: string; + /** + * + * @type {MeasurementStudySubmissionType} + * @memberof MeasurementAudienceResearchStudy + */ + submissionType?: MeasurementStudySubmissionType; + /** + * The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + lastUpdatedDate?: string; + /** + * + * @type {MeasurementStudyResultStatus} + * @memberof MeasurementAudienceResearchStudy + */ + studyResultStatus?: MeasurementStudyResultStatus; + /** + * The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + reviewDate?: string; + /** + * The study name. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + name?: string; + /** + * The approver\'s comment on why the study is approved/rejected. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + comment?: string; + /** + * The study canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + studyId?: string; + /** + * The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + startDate?: string; + /** + * + * @type {MeasurementStudyStatus} + * @memberof MeasurementAudienceResearchStudy + */ + status?: MeasurementStudyStatus; + /** + * The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + createDate?: string; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + advertiserId?: string; + /** + * The study brand name. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + brandName?: string; + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementAudienceResearchStudy + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; + /** + * A list of peer names for the study brand. + * @type {Array} + * @memberof MeasurementAudienceResearchStudy + */ + peerNames?: Array; + /** + * The study product category. + * @type {string} + * @memberof MeasurementAudienceResearchStudy + */ + productCategory?: string; +} +/** + * The audience research study eligibility data. + * @export + * @interface MeasurementAudienceResearchStudyEligibilityData + */ +export interface MeasurementAudienceResearchStudyEligibilityData { + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementAudienceResearchStudyEligibilityData + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; +} +/** + * The request object of Audience Research study eligibility check. + * @export + * @interface MeasurementAudienceResearchStudyEligibilityRequest + */ +export interface MeasurementAudienceResearchStudyEligibilityRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementAudienceResearchStudyEligibilityRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementAudienceResearchStudyEligibilityRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementAudienceResearchStudyEligibilityRequest + */ + vendorTypeFilters?: Array; + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementAudienceResearchStudyEligibilityRequest + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; +} +/** + * The basic model for all AUDIENCE_RESEARCH objective studies. + * @export + * @interface MeasurementAudienceResearchStudyMetadata + */ +export interface MeasurementAudienceResearchStudyMetadata { + /** + * The study brand name. + * @type {string} + * @memberof MeasurementAudienceResearchStudyMetadata + */ + brandName?: string; + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementAudienceResearchStudyMetadata + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; + /** + * A list of peer names for the study brand. + * @type {Array} + * @memberof MeasurementAudienceResearchStudyMetadata + */ + peerNames?: Array; + /** + * The study product category. + * @type {string} + * @memberof MeasurementAudienceResearchStudyMetadata + */ + productCategory?: string; +} +/** + * The response object for downloading study results. + * @export + * @interface MeasurementAudienceResearchStudyResult + */ +export interface MeasurementAudienceResearchStudyResult { + /** + * A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. + * @type {string} + * @memberof MeasurementAudienceResearchStudyResult + */ + fileDownloadUrl?: string; + /** + * + * @type {string} + * @memberof MeasurementAudienceResearchStudyResult + */ + fileType?: MeasurementAudienceResearchStudyResultFileTypeEnum; +} + +/** + * @export + * @enum {string} + */ +export enum MeasurementAudienceResearchStudyResultFileTypeEnum { + Csv = 'CSV' +} + +/** + * The base study object. + * @export + * @interface MeasurementBaseStudy + */ +export interface MeasurementBaseStudy { + /** + * List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available. + * @type {Array} + * @memberof MeasurementBaseStudy + */ + statusReasons?: Array; + /** + * The study survey canonical identifier. + * @type {string} + * @memberof MeasurementBaseStudy + */ + surveyId?: string; + /** + * The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders. + * @type {string} + * @memberof MeasurementBaseStudy + */ + endDate?: string; + /** + * + * @type {MeasurementStudiesResourceLink} + * @memberof MeasurementBaseStudy + */ + link?: MeasurementStudiesResourceLink; + /** + * Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies. + * @type {string} + * @memberof MeasurementBaseStudy + */ + externalReferenceId?: string; + /** + * Associated vendor product canonical identifier. + * @type {string} + * @memberof MeasurementBaseStudy + */ + vendorProductId?: string; + /** + * + * @type {MeasurementStudySubmissionType} + * @memberof MeasurementBaseStudy + */ + submissionType?: MeasurementStudySubmissionType; + /** + * The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementBaseStudy + */ + lastUpdatedDate?: string; + /** + * + * @type {MeasurementStudyResultStatus} + * @memberof MeasurementBaseStudy + */ + studyResultStatus?: MeasurementStudyResultStatus; + /** + * The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementBaseStudy + */ + reviewDate?: string; + /** + * The study name. + * @type {string} + * @memberof MeasurementBaseStudy + */ + name?: string; + /** + * The approver\'s comment on why the study is approved/rejected. + * @type {string} + * @memberof MeasurementBaseStudy + */ + comment?: string; + /** + * The study canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementBaseStudy + */ + studyId?: string; + /** + * The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders. + * @type {string} + * @memberof MeasurementBaseStudy + */ + startDate?: string; + /** + * + * @type {MeasurementStudyStatus} + * @memberof MeasurementBaseStudy + */ + status?: MeasurementStudyStatus; + /** + * The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementBaseStudy + */ + createDate?: string; +} +/** + * BRAND_LIFT study object. + * @export + * @interface MeasurementBrandLiftStudy + */ +export interface MeasurementBrandLiftStudy { + /** + * List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available. + * @type {Array} + * @memberof MeasurementBrandLiftStudy + */ + statusReasons?: Array; + /** + * The study survey canonical identifier. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + surveyId?: string; + /** + * The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + endDate?: string; + /** + * + * @type {MeasurementStudiesResourceLink} + * @memberof MeasurementBrandLiftStudy + */ + link?: MeasurementStudiesResourceLink; + /** + * Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + externalReferenceId?: string; + /** + * Associated vendor product canonical identifier. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + vendorProductId?: string; + /** + * + * @type {MeasurementStudySubmissionType} + * @memberof MeasurementBrandLiftStudy + */ + submissionType?: MeasurementStudySubmissionType; + /** + * The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + lastUpdatedDate?: string; + /** + * + * @type {MeasurementStudyResultStatus} + * @memberof MeasurementBrandLiftStudy + */ + studyResultStatus?: MeasurementStudyResultStatus; + /** + * The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + reviewDate?: string; + /** + * The study name. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + name?: string; + /** + * The approver\'s comment on why the study is approved/rejected. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + comment?: string; + /** + * The study canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + studyId?: string; + /** + * The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + startDate?: string; + /** + * + * @type {MeasurementStudyStatus} + * @memberof MeasurementBrandLiftStudy + */ + status?: MeasurementStudyStatus; + /** + * The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + createDate?: string; + /** + * The brand entity Id to be measured by the study. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + brandEntityId?: string; + /** + * The study brand name. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + brandName?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the study. + * @type {Array} + * @memberof MeasurementBrandLiftStudy + */ + excludedLineItemIds?: Array; + /** + * A list of peer names for the study brand. + * @type {Array} + * @memberof MeasurementBrandLiftStudy + */ + peerNames?: Array; + /** + * The verb that will be used in the applicable survey questions to construct the question text. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + verb?: string; + /** + * + * @type {MeasurementStudiesBenchmarkCategory} + * @memberof MeasurementBrandLiftStudy + */ + benchmarkCategory?: MeasurementStudiesBenchmarkCategory; + /** + * A list of canonical DSP order identifiers that are associated with the study. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementBrandLiftStudy + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementBrandLiftStudy + */ + campaignIds?: Array; + /** + * The study product category. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + productCategory?: string; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementBrandLiftStudy + */ + advertiserId?: string; +} +/** + * The campaign study eligibility data. + * @export + * @interface MeasurementBrandLiftStudyEligibilityData + */ +export interface MeasurementBrandLiftStudyEligibilityData { + /** + * Optional current study identifier, if provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility check. + * @type {string} + * @memberof MeasurementBrandLiftStudyEligibilityData + */ + currentStudyId?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the eligibility check. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityData + */ + excludedLineItemIds?: Array; + /** + * A list of canonical DSP order identifiers. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityData + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityData + */ + campaignIds?: Array; +} +/** + * The request object of brand lift eligibility check. + * @export + * @interface MeasurementBrandLiftStudyEligibilityRequest + */ +export interface MeasurementBrandLiftStudyEligibilityRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + vendorTypeFilters?: Array; + /** + * Optional current study identifier, if provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility check. + * @type {string} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + currentStudyId?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the eligibility check. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + excludedLineItemIds?: Array; + /** + * A list of canonical DSP order identifiers. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementBrandLiftStudyEligibilityRequest + */ + campaignIds?: Array; +} +/** + * The basic model for all BRAND_LIFT studies. + * @export + * @interface MeasurementBrandLiftStudyMetadata + */ +export interface MeasurementBrandLiftStudyMetadata { + /** + * The brand entity Id to be measured by the study. + * @type {string} + * @memberof MeasurementBrandLiftStudyMetadata + */ + brandEntityId?: string; + /** + * The study brand name. + * @type {string} + * @memberof MeasurementBrandLiftStudyMetadata + */ + brandName?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the study. + * @type {Array} + * @memberof MeasurementBrandLiftStudyMetadata + */ + excludedLineItemIds?: Array; + /** + * A list of peer names for the study brand. + * @type {Array} + * @memberof MeasurementBrandLiftStudyMetadata + */ + peerNames?: Array; + /** + * The verb that will be used in the applicable survey questions to construct the question text. + * @type {string} + * @memberof MeasurementBrandLiftStudyMetadata + */ + verb?: string; + /** + * + * @type {MeasurementStudiesBenchmarkCategory} + * @memberof MeasurementBrandLiftStudyMetadata + */ + benchmarkCategory?: MeasurementStudiesBenchmarkCategory; + /** + * A list of canonical DSP order identifiers that are associated with the study. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementBrandLiftStudyMetadata + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementBrandLiftStudyMetadata + */ + campaignIds?: Array; + /** + * The study product category. + * @type {string} + * @memberof MeasurementBrandLiftStudyMetadata + */ + productCategory?: string; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementBrandLiftStudyMetadata + */ + advertiserId?: string; +} +/** + * The response object for downloading study results. + * @export + * @interface MeasurementBrandLiftStudyResult + */ +export interface MeasurementBrandLiftStudyResult { + /** + * A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. + * @type {string} + * @memberof MeasurementBrandLiftStudyResult + */ + fileDownloadUrl?: string; + /** + * + * @type {string} + * @memberof MeasurementBrandLiftStudyResult + */ + fileType?: MeasurementBrandLiftStudyResultFileTypeEnum; +} + +/** + * @export + * @enum {string} + */ +export enum MeasurementBrandLiftStudyResultFileTypeEnum { + Csv = 'CSV', + Pdf = 'PDF', + Powerpoint = 'POWERPOINT', + Jpeg = 'JPEG', + Png = 'PNG', + Other = 'OTHER' +} + +/** + * The measurement country. + * @export + * @enum {string} + */ + +export enum MeasurementCountryV1 { + Us = 'US', + Ca = 'CA', + Uk = 'UK', + De = 'DE', + It = 'IT', + Es = 'ES', + Fr = 'FR', + Jp = 'JP', + Mx = 'MX', + Ae = 'AE', + Au = 'AU', + Nl = 'NL', + Br = 'BR' +} + +/** + * The response object to get fee for a Creative Testing study. + * @export + * @interface MeasurementCreativeTestingFee + */ +export interface MeasurementCreativeTestingFee { + /** + * The fee for the Study. Check currencyCode field for the currency in which this field is expressed. + * @type {number} + * @memberof MeasurementCreativeTestingFee + */ + fee?: number; + /** + * + * @type {MeasurementStudiesCurrencyCode} + * @memberof MeasurementCreativeTestingFee + */ + currencyCode?: MeasurementStudiesCurrencyCode; +} +/** + * The request object to get fee for a Creative Testing study. + * @export + * @interface MeasurementCreativeTestingFeeRequest + */ +export interface MeasurementCreativeTestingFeeRequest { + /** + * vendor product canonical identifier. + * @type {string} + * @memberof MeasurementCreativeTestingFeeRequest + */ + vendorProductId?: string; + /** + * A list of templated survey questions. + * @type {Array} + * @memberof MeasurementCreativeTestingFeeRequest + */ + templatedQuestions?: Array; + /** + * A list of assets to be used for the creative testing study as part of either the survey question or the response. + * @type {Array} + * @memberof MeasurementCreativeTestingFeeRequest + */ + assets?: Array; + /** + * The associated DSP advertiser identifier. Mandatory field for DSP clients. + * @type {string} + * @memberof MeasurementCreativeTestingFeeRequest + */ + advertiserId?: string; +} +/** + * CREATIVE_TESTING study object. + * @export + * @interface MeasurementCreativeTestingStudy + */ +export interface MeasurementCreativeTestingStudy { + /** + * List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available. + * @type {Array} + * @memberof MeasurementCreativeTestingStudy + */ + statusReasons?: Array; + /** + * The study survey canonical identifier. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + surveyId?: string; + /** + * The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + endDate?: string; + /** + * + * @type {MeasurementStudiesResourceLink} + * @memberof MeasurementCreativeTestingStudy + */ + link?: MeasurementStudiesResourceLink; + /** + * Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + externalReferenceId?: string; + /** + * Associated vendor product canonical identifier. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + vendorProductId?: string; + /** + * + * @type {MeasurementStudySubmissionType} + * @memberof MeasurementCreativeTestingStudy + */ + submissionType?: MeasurementStudySubmissionType; + /** + * The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + lastUpdatedDate?: string; + /** + * + * @type {MeasurementStudyResultStatus} + * @memberof MeasurementCreativeTestingStudy + */ + studyResultStatus?: MeasurementStudyResultStatus; + /** + * The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + reviewDate?: string; + /** + * The study name. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + name?: string; + /** + * The approver\'s comment on why the study is approved/rejected. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + comment?: string; + /** + * The study canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + studyId?: string; + /** + * The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + startDate?: string; + /** + * + * @type {MeasurementStudyStatus} + * @memberof MeasurementCreativeTestingStudy + */ + status?: MeasurementStudyStatus; + /** + * The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + createDate?: string; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + advertiserId?: string; + /** + * The study brand name. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + brandName?: string; + /** + * A list of assets to be used for the creative testing study as part of either the survey question or the response. In case of API responses, number of assets returned would be limited to 10 even if a creative testing study has more than 10 assets associated with it. + * @type {Array} + * @memberof MeasurementCreativeTestingStudy + */ + assets?: Array; + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementCreativeTestingStudy + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; + /** + * Optional study product category. + * @type {string} + * @memberof MeasurementCreativeTestingStudy + */ + productCategory?: string; +} +/** + * The creative testing study eligibility data. + * @export + * @interface MeasurementCreativeTestingStudyEligibilityData + */ +export interface MeasurementCreativeTestingStudyEligibilityData { + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementCreativeTestingStudyEligibilityData + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; +} +/** + * The request object of Creative Testing study eligibility check. + * @export + * @interface MeasurementCreativeTestingStudyEligibilityRequest + */ +export interface MeasurementCreativeTestingStudyEligibilityRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementCreativeTestingStudyEligibilityRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementCreativeTestingStudyEligibilityRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementCreativeTestingStudyEligibilityRequest + */ + vendorTypeFilters?: Array; + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementCreativeTestingStudyEligibilityRequest + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; +} +/** + * The basic model for all CREATIVE_TESTING objective studies. + * @export + * @interface MeasurementCreativeTestingStudyMetadata + */ +export interface MeasurementCreativeTestingStudyMetadata { + /** + * The study brand name. + * @type {string} + * @memberof MeasurementCreativeTestingStudyMetadata + */ + brandName?: string; + /** + * A list of assets to be used for the creative testing study as part of either the survey question or the response. In case of API responses, number of assets returned would be limited to 10 even if a creative testing study has more than 10 assets associated with it. + * @type {Array} + * @memberof MeasurementCreativeTestingStudyMetadata + */ + assets?: Array; + /** + * + * @type {MeasurementStudiesAudienceTargetingGroup} + * @memberof MeasurementCreativeTestingStudyMetadata + */ + audienceTargetingGroup?: MeasurementStudiesAudienceTargetingGroup; + /** + * Optional study product category. + * @type {string} + * @memberof MeasurementCreativeTestingStudyMetadata + */ + productCategory?: string; +} +/** + * The response object for downloading study results. + * @export + * @interface MeasurementCreativeTestingStudyResult + */ +export interface MeasurementCreativeTestingStudyResult { + /** + * A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. + * @type {string} + * @memberof MeasurementCreativeTestingStudyResult + */ + fileDownloadUrl?: string; + /** + * + * @type {string} + * @memberof MeasurementCreativeTestingStudyResult + */ + fileType?: MeasurementCreativeTestingStudyResultFileTypeEnum; +} + +/** + * @export + * @enum {string} + */ +export enum MeasurementCreativeTestingStudyResultFileTypeEnum { + Csv = 'CSV' +} + +/** + * The measurement budget optimization goal type goal. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementGoal { + EngagementWithMyAd = 'ENGAGEMENT_WITH_MY_AD', + ConsiderationsOnAmazon = 'CONSIDERATIONS_ON_AMAZON', + ConversionsOffAmazon = 'CONVERSIONS_OFF_AMAZON', + PurchasesOnAmazon = 'PURCHASES_ON_AMAZON', + MobileAppInstalls = 'MOBILE_APP_INSTALLS', + Awareness = 'AWARENESS', + Other = 'OTHER' +} + +/** + * The measurement budget optimization goal type goal. + * @export + * @enum {string} + */ + +export enum MeasurementGoalV1 { + EngagementWithMyAd = 'ENGAGEMENT_WITH_MY_AD', + ConsiderationsOnAmazon = 'CONSIDERATIONS_ON_AMAZON', + ConversionsOffAmazon = 'CONVERSIONS_OFF_AMAZON', + PurchasesOnAmazon = 'PURCHASES_ON_AMAZON', + MobileAppInstalls = 'MOBILE_APP_INSTALLS', + Awareness = 'AWARENESS' +} + +/** + * The measurement locale. + * @export + * @enum {string} + */ + +export enum MeasurementLocaleV1 { + EnUs = 'EN_US' +} + +/** + * The marketplace with corresponding rules. + * @export + * @interface MeasurementMarketplaceV1 + */ +export interface MeasurementMarketplaceV1 { + /** + * + * @type {MeasurementCountryV1} + * @memberof MeasurementMarketplaceV1 + */ + country?: MeasurementCountryV1; + /** + * + * @type {Array} + * @memberof MeasurementMarketplaceV1 + */ + supportedLocales?: Array; + /** + * The minimum impressions. + * @type {number} + * @memberof MeasurementMarketplaceV1 + */ + minimumImpressions?: number; + /** + * The minimum budget. Expressed in dollars. + * @type {number} + * @memberof MeasurementMarketplaceV1 + */ + minimumBudget?: number; +} +/** + * The response object to get fee for an Omnichannel Metrics study. + * @export + * @interface MeasurementOmnichannelMetricsFee + */ +export interface MeasurementOmnichannelMetricsFee { + /** + * The fee rate for the Study in percent. This will be expressed as a value between 0.0000 and 1.0000 and rounded to 4 decimal places. + * @type {number} + * @memberof MeasurementOmnichannelMetricsFee + */ + fee?: number; +} +/** + * The request object to get fee for an Omnichannel Metrics study. + * @export + * @interface MeasurementOmnichannelMetricsFeeRequest + */ +export interface MeasurementOmnichannelMetricsFeeRequest { + /** + * The canonical identifier that represents a unique study + * @type {string} + * @memberof MeasurementOmnichannelMetricsFeeRequest + */ + studyId?: string; + /** + * The associated DSP advertiser identifier. Mandatory field for DSP clients. + * @type {string} + * @memberof MeasurementOmnichannelMetricsFeeRequest + */ + advertiserId?: string; +} +/** + * The response object for downloading study results. + * @export + * @interface MeasurementOmnichannelMetricsResult + */ +export interface MeasurementOmnichannelMetricsResult { + /** + * A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. + * @type {string} + * @memberof MeasurementOmnichannelMetricsResult + */ + fileDownloadUrl?: string; + /** + * + * @type {string} + * @memberof MeasurementOmnichannelMetricsResult + */ + fileType?: MeasurementOmnichannelMetricsResultFileTypeEnum; +} + +/** + * @export + * @enum {string} + */ +export enum MeasurementOmnichannelMetricsResultFileTypeEnum { + Excel = 'EXCEL' +} + +/** + * OMNICHANNEL_METRICS study object. + * @export + * @interface MeasurementOmnichannelMetricsStudy + */ +export interface MeasurementOmnichannelMetricsStudy { + /** + * List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudy + */ + statusReasons?: Array; + /** + * The study survey canonical identifier. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + surveyId?: string; + /** + * The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + endDate?: string; + /** + * + * @type {MeasurementStudiesResourceLink} + * @memberof MeasurementOmnichannelMetricsStudy + */ + link?: MeasurementStudiesResourceLink; + /** + * Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + externalReferenceId?: string; + /** + * Associated vendor product canonical identifier. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + vendorProductId?: string; + /** + * + * @type {MeasurementStudySubmissionType} + * @memberof MeasurementOmnichannelMetricsStudy + */ + submissionType?: MeasurementStudySubmissionType; + /** + * The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + lastUpdatedDate?: string; + /** + * + * @type {MeasurementStudyResultStatus} + * @memberof MeasurementOmnichannelMetricsStudy + */ + studyResultStatus?: MeasurementStudyResultStatus; + /** + * The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + reviewDate?: string; + /** + * The study name. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + name?: string; + /** + * The approver\'s comment on why the study is approved/rejected. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + comment?: string; + /** + * The study canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + studyId?: string; + /** + * The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + startDate?: string; + /** + * + * @type {MeasurementStudyStatus} + * @memberof MeasurementOmnichannelMetricsStudy + */ + status?: MeasurementStudyStatus; + /** + * The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + createDate?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the study. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudy + */ + excludedLineItemIds?: Array; + /** + * A list of DSP canonical order identifiers that are associated with the study. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudy + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudy + */ + campaignIds?: Array; + /** + * A list of canonical brand ids to be tracked for off-Amazon conversions. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudy + */ + brandIds?: Array; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudy + */ + advertiserId?: string; +} +/** + * The request object of omnichannel metrics eligibility check. + * @export + * @interface MeasurementOmnichannelMetricsStudyEligibilityRequest + */ +export interface MeasurementOmnichannelMetricsStudyEligibilityRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + vendorTypeFilters?: Array; + /** + * Optional current study identifier. If provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility checks. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + currentStudyId?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the eligibility check. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + excludedLineItemIds?: Array; + /** + * A list of DSP canonical order identifiers. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + campaignIds?: Array; + /** + * A list of canonical brand identifiers. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyEligibilityRequest + */ + brandIds?: Array; +} +/** + * The basic model for all OMNICHANNEL_METRICS objective studies. + * @export + * @interface MeasurementOmnichannelMetricsStudyMetadata + */ +export interface MeasurementOmnichannelMetricsStudyMetadata { + /** + * A list of canonical lineItem identifiers that are excluded from the study. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyMetadata + */ + excludedLineItemIds?: Array; + /** + * A list of DSP canonical order identifiers that are associated with the study. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyMetadata + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyMetadata + */ + campaignIds?: Array; + /** + * A list of canonical brand ids to be tracked for off-Amazon conversions. + * @type {Array} + * @memberof MeasurementOmnichannelMetricsStudyMetadata + */ + brandIds?: Array; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementOmnichannelMetricsStudyMetadata + */ + advertiserId?: string; +} +/** + * The campaign study eligibility data. + * @export + * @interface MeasurementReachAndFrequencyEligibilityData + */ +export interface MeasurementReachAndFrequencyEligibilityData { + /** + * Optional current study identifier, if provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility check. + * @type {string} + * @memberof MeasurementReachAndFrequencyEligibilityData + */ + currentStudyId?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the eligibility check. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityData + */ + excludedLineItemIds?: Array; + /** + * A list of canonical DSP order identifiers. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityData + */ + orderIds?: Array; +} +/** + * The request object of reach and frequency eligibility check. + * @export + * @interface MeasurementReachAndFrequencyEligibilityRequest + */ +export interface MeasurementReachAndFrequencyEligibilityRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityRequest + */ + vendorTypeFilters?: Array; + /** + * Optional current study identifier, if provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility check. + * @type {string} + * @memberof MeasurementReachAndFrequencyEligibilityRequest + */ + currentStudyId?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the eligibility check. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityRequest + */ + excludedLineItemIds?: Array; + /** + * A list of canonical DSP order identifiers. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementReachAndFrequencyEligibilityRequest + */ + orderIds?: Array; +} +/** + * The basic model for all REACH_AND_FREQUENCY studies. + * @export + * @interface MeasurementReachAndFrequencyMetadata + */ +export interface MeasurementReachAndFrequencyMetadata { + /** + * A list of canonical lineItem identifiers that are excluded from the study. + * @type {Array} + * @memberof MeasurementReachAndFrequencyMetadata + */ + excludedLineItemIds?: Array; + /** + * A list of canonical DSP order identifiers that are associated with the study. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementReachAndFrequencyMetadata + */ + orderIds?: Array; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementReachAndFrequencyMetadata + */ + advertiserId?: string; +} +/** + * REACH_AND_FREQUENCY study object. + * @export + * @interface MeasurementReachAndFrequencyStudy + */ +export interface MeasurementReachAndFrequencyStudy { + /** + * List of reasons for study status. For example, when study is marked Rejected or Ineligible, this field would be available. + * @type {Array} + * @memberof MeasurementReachAndFrequencyStudy + */ + statusReasons?: Array; + /** + * The study survey canonical identifier. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + surveyId?: string; + /** + * The study end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the latest endDate of the associated orders. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + endDate?: string; + /** + * + * @type {MeasurementStudiesResourceLink} + * @memberof MeasurementReachAndFrequencyStudy + */ + link?: MeasurementStudiesResourceLink; + /** + * Optional field. For some vendors, advertisers are required to provide this vendor assigned reference identifier for EXTERNAL_BILLING studies. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + externalReferenceId?: string; + /** + * Associated vendor product canonical identifier. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + vendorProductId?: string; + /** + * + * @type {MeasurementStudySubmissionType} + * @memberof MeasurementReachAndFrequencyStudy + */ + submissionType?: MeasurementStudySubmissionType; + /** + * The study last updated date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + lastUpdatedDate?: string; + /** + * + * @type {MeasurementStudyResultStatus} + * @memberof MeasurementReachAndFrequencyStudy + */ + studyResultStatus?: MeasurementStudyResultStatus; + /** + * The study review date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + reviewDate?: string; + /** + * The study name. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + name?: string; + /** + * The approver\'s comment on why the study is approved/rejected. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + comment?: string; + /** + * The study canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + studyId?: string; + /** + * The study start date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. By default this will be the earliest startDate of the associated orders. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + startDate?: string; + /** + * + * @type {MeasurementStudyStatus} + * @memberof MeasurementReachAndFrequencyStudy + */ + status?: MeasurementStudyStatus; + /** + * The study creation date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + createDate?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the study. + * @type {Array} + * @memberof MeasurementReachAndFrequencyStudy + */ + excludedLineItemIds?: Array; + /** + * A list of canonical DSP order identifiers that are associated with the study. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementReachAndFrequencyStudy + */ + orderIds?: Array; + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudy + */ + advertiserId?: string; +} +/** + * The response object for downloading study results. + * @export + * @interface MeasurementReachAndFrequencyStudyResult + */ +export interface MeasurementReachAndFrequencyStudyResult { + /** + * A pre-signed S3 URL which links to the curated study results file. The URL expires after 60 seconds. If the URL expires before the curated results file is downloaded, a new download request must be created. + * @type {string} + * @memberof MeasurementReachAndFrequencyStudyResult + */ + fileDownloadUrl?: string; + /** + * + * @type {string} + * @memberof MeasurementReachAndFrequencyStudyResult + */ + fileType?: MeasurementReachAndFrequencyStudyResultFileTypeEnum; +} + +/** + * @export + * @enum {string} + */ +export enum MeasurementReachAndFrequencyStudyResultFileTypeEnum { + Pdf = 'PDF', + Powerpoint = 'POWERPOINT', + Jpeg = 'JPEG', + Png = 'PNG', + Other = 'OTHER' +} + +/** + * Supported ad types. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesAdType { + Dsp = 'DSP', + Sb = 'SB', + Sp = 'SP', + Sd = 'SD' +} + +/** + * The Amazon Creative Asset Library asset identifier. Refer https://advertising.amazon.com/API/docs/en-us/creative-asset-library + * @export + * @interface MeasurementStudiesAsset + */ +export interface MeasurementStudiesAsset { + /** + * The assetId. + * @type {string} + * @memberof MeasurementStudiesAsset + */ + assetId?: string; + /** + * The version of the asset. + * @type {string} + * @memberof MeasurementStudiesAsset + */ + version?: string; + /** + * + * @type {MeasurementStudiesAssetType} + * @memberof MeasurementStudiesAsset + */ + assetType?: MeasurementStudiesAssetType; +} +/** + * The type of the Asset. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesAssetType { + Image = 'IMAGE', + Video = 'VIDEO' +} + +/** + * The model for holding Audience selection within a group. The expression within an audience group will be evaluated using the IntraGroupOperator. The InterGroupOperator will be applied on the output of one audience group with another audience group. + * @export + * @interface MeasurementStudiesAudienceGroup + */ +export interface MeasurementStudiesAudienceGroup { + /** + * + * @type {MeasurementStudiesAudienceSelectionOperator} + * @memberof MeasurementStudiesAudienceGroup + */ + interGroupOperator?: MeasurementStudiesAudienceSelectionOperator; + /** + * + * @type {MeasurementStudiesAudienceSelectionOperator} + * @memberof MeasurementStudiesAudienceGroup + */ + intraGroupOperator?: MeasurementStudiesAudienceSelectionOperator; + /** + * List of audience segments in this group. + * @type {Array} + * @memberof MeasurementStudiesAudienceGroup + */ + audienceSegments?: Array; +} +/** + * The model for holding an Audience Segment. + * @export + * @interface MeasurementStudiesAudienceSegment + */ +export interface MeasurementStudiesAudienceSegment { + /** + * ID for the audience segment. This ID can be fetched from these APIs- https://advertising.amazon.com/API/docs/en-us/audiences/#/Discovery + * @type {string} + * @memberof MeasurementStudiesAudienceSegment + */ + segmentId?: string; +} +/** + * The operator used in Audience Segment Selection to determine which operation needs to be applied across selected segments. AND operator takes priority over OR operator. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesAudienceSelectionOperator { + Or = 'OR', + And = 'AND' +} + +/** + * The model for holding Audience targeting group. The includedAudienceGroups and excludedAudienceGroups are always joined with AND operator. + * @export + * @interface MeasurementStudiesAudienceTargetingGroup + */ +export interface MeasurementStudiesAudienceTargetingGroup { + /** + * List of audience groups to be included in the targeted audience. + * @type {Array} + * @memberof MeasurementStudiesAudienceTargetingGroup + */ + includedAudienceGroups?: Array; + /** + * List of audience groups to be excluded from the targeted audience. + * @type {Array} + * @memberof MeasurementStudiesAudienceTargetingGroup + */ + excludedAudienceGroups?: Array; +} +/** + * The request object of measurement eligibility check. + * @export + * @interface MeasurementStudiesBaseEligibilityRequest + */ +export interface MeasurementStudiesBaseEligibilityRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesBaseEligibilityRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesBaseEligibilityRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesBaseEligibilityRequest + */ + vendorTypeFilters?: Array; +} +/** + * The study benchmark product category. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesBenchmarkCategory { + Appliances = 'APPLIANCES', + AppsAndGames = 'APPS_AND_GAMES', + ArtsCraftsAndSewing = 'ARTS_CRAFTS_AND_SEWING', + Automotive = 'AUTOMOTIVE', + Baby = 'BABY', + BeautyAndPersonalCare = 'BEAUTY_AND_PERSONAL_CARE', + Books = 'BOOKS', + CellPhonesAndAccessories = 'CELL_PHONES_AND_ACCESSORIES', + ClothingShoesAndJewelry = 'CLOTHING_SHOES_AND_JEWELRY', + ComputersAndAccessories = 'COMPUTERS_AND_ACCESSORIES', + DigitalMusic = 'DIGITAL_MUSIC', + Electronics = 'ELECTRONICS', + Education = 'EDUCATION', + FinancialAndInsurance = 'FINANCIAL_AND_INSURANCE', + Food = 'FOOD', + Beverages = 'BEVERAGES', + HealthAndHousehold = 'HEALTH_AND_HOUSEHOLD', + HomeAndKitchen = 'HOME_AND_KITCHEN', + KitchenAndDining = 'KITCHEN_AND_DINING', + MoviesAndTv = 'MOVIES_AND_TV', + OfficeProducts = 'OFFICE_PRODUCTS', + PatioLawnAndGarden = 'PATIO_LAWN_AND_GARDEN', + PetSupplies = 'PET_SUPPLIES', + Restaurants = 'RESTAURANTS', + Software = 'SOFTWARE', + SportsAndOutdoors = 'SPORTS_AND_OUTDOORS', + TelecommunicationsServices = 'TELECOMMUNICATIONS_SERVICES', + ToolsAndHomeImprovement = 'TOOLS_AND_HOME_IMPROVEMENT', + ToysAndGames = 'TOYS_AND_GAMES', + VideoGames = 'VIDEO_GAMES', + Hospitality = 'HOSPITALITY', + Other = 'OTHER' +} + +/** + * The basic model for all CAMPAIGN_PLANNING objective studies. + * @export + * @interface MeasurementStudiesCampaignPlanningMetadata + */ +export interface MeasurementStudiesCampaignPlanningMetadata { + /** + * The associated advertiser identifier. Immutable field. + * @type {string} + * @memberof MeasurementStudiesCampaignPlanningMetadata + */ + advertiserId?: string; +} +/** + * Cancel study response. + * @export + * @interface MeasurementStudiesCancelStudyResponse + */ +export interface MeasurementStudiesCancelStudyResponse { + /** + * An enumerated success or error code for machine use. + * @type {string} + * @memberof MeasurementStudiesCancelStudyResponse + */ + code?: string; + /** + * The study canonical identifier. + * @type {string} + * @memberof MeasurementStudiesCancelStudyResponse + */ + studyId?: string; + /** + * A human-readable message of the code. + * @type {string} + * @memberof MeasurementStudiesCancelStudyResponse + */ + message?: string; + /** + * + * @type {Array} + * @memberof MeasurementStudiesCancelStudyResponse + */ + errors?: Array; +} +/** + * The measurement country. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesCountry { + Us = 'US', + Uk = 'UK', + De = 'DE', + Fr = 'FR', + Jp = 'JP', + Ca = 'CA', + It = 'IT', + Es = 'ES', + Eg = 'EG', + Br = 'BR', + Au = 'AU', + Ae = 'AE', + Sa = 'SA', + Ru = 'RU', + Mx = 'MX', + Nl = 'NL', + Sg = 'SG', + Se = 'SE', + Tr = 'TR', + Pl = 'PL', + In = 'IN', + Other = 'OTHER' +} + +/** + * Currency Code. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesCurrencyCode { + Usd = 'USD', + Cad = 'CAD', + Mxn = 'MXN', + Brl = 'BRL', + Gbp = 'GBP', + Eur = 'EUR', + Aed = 'AED', + Sar = 'SAR', + Inr = 'INR', + Jpy = 'JPY', + Aud = 'AUD', + Sgd = 'SGD', + Try = 'TRY', + Sek = 'SEK', + Egp = 'EGP', + Pln = 'PLN', + Other = 'OTHER' +} + +/** + * The templated measurement survey question. + * @export + * @interface MeasurementStudiesCustomSurveyQuestion + */ +export interface MeasurementStudiesCustomSurveyQuestion { + /** + * + * @type {Array} + * @memberof MeasurementStudiesCustomSurveyQuestion + */ + responses?: Array; + /** + * + * @type {MeasurementStudiesSurveyQuestionType} + * @memberof MeasurementStudiesCustomSurveyQuestion + */ + type?: MeasurementStudiesSurveyQuestionType; + /** + * The survey question text. + * @type {string} + * @memberof MeasurementStudiesCustomSurveyQuestion + */ + questionText?: string; +} +/** + * Fields that will be checked as part of eligibility API call. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesEligibilityField { + Locale = 'LOCALE', + Budget = 'BUDGET', + Goal = 'GOAL', + StartTime = 'START_TIME', + EndTime = 'END_TIME', + FlightLength = 'FLIGHT_LENGTH', + LeadTime = 'LEAD_TIME', + Impressions = 'IMPRESSIONS', + Order = 'ORDER', + BuyerCount = 'BUYER_COUNT', + Other = 'OTHER' +} + +/** + * The list of eligibility issues. + * @export + * @interface MeasurementStudiesEligibilityIssue + */ +export interface MeasurementStudiesEligibilityIssue { + /** + * + * @type {MeasurementStudiesEligibilityIssueSeverity} + * @memberof MeasurementStudiesEligibilityIssue + */ + severity?: MeasurementStudiesEligibilityIssueSeverity; + /** + * An enumerated issue code for machine use. + * @type {string} + * @memberof MeasurementStudiesEligibilityIssue + */ + code?: string; + /** + * + * @type {MeasurementStudiesEligibilityField} + * @memberof MeasurementStudiesEligibilityIssue + */ + field?: MeasurementStudiesEligibilityField; + /** + * A human-readable description of the issue with suggestions on how to resolve the issue. + * @type {string} + * @memberof MeasurementStudiesEligibilityIssue + */ + message?: string; +} +/** + * Supported values are WARNING, ERROR. ERROR severity issues need to be resolved while WARNING severity issues can be ignored. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesEligibilityIssueSeverity { + Warning = 'WARNING', + Error = 'ERROR', + Other = 'OTHER' +} + +/** + * The eligibility metadata. + * @export + * @interface MeasurementStudiesEligibilityMetadata + */ +export interface MeasurementStudiesEligibilityMetadata { + /** + * The latest end date of the associated orders in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementStudiesEligibilityMetadata + */ + endDate?: string; + /** + * The total estimated impressions. + * @type {number} + * @memberof MeasurementStudiesEligibilityMetadata + */ + impressions?: number; + /** + * The flight length of the associated orders. Expressed in days. + * @type {number} + * @memberof MeasurementStudiesEligibilityMetadata + */ + flightLength?: number; + /** + * The earliest start date of associated orders in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementStudiesEligibilityMetadata + */ + startDate?: string; + /** + * The total budget. Expressed in dollars. + * @type {number} + * @memberof MeasurementStudiesEligibilityMetadata + */ + budget?: number; +} +/** + * The eligibility check response object. + * @export + * @interface MeasurementStudiesEligibilityResponse + */ +export interface MeasurementStudiesEligibilityResponse { + /** + * + * @type {MeasurementStudiesEligibilityMetadata} + * @memberof MeasurementStudiesEligibilityResponse + */ + metadata?: MeasurementStudiesEligibilityMetadata; + /** + * + * @type {string} + * @memberof MeasurementStudiesEligibilityResponse + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof MeasurementStudiesEligibilityResponse + */ + vendorProductEligibilities?: Array; +} +/** + * Supported values are ELIGIBLE, INELIGIBLE and ELIGIBLE_WITH_WARNING. INELIGIBLE status indicates the study can not be created. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesEligibilityStatus { + Eligible = 'ELIGIBLE', + Ineligible = 'INELIGIBLE', + EligibleWithWarning = 'ELIGIBLE_WITH_WARNING' +} + +/** + * The error response object. + * @export + * @interface MeasurementStudiesError + */ +export interface MeasurementStudiesError { + /** + * Request Id that uniquely identifies your request. + * @type {string} + * @memberof MeasurementStudiesError + */ + requestId?: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof MeasurementStudiesError + */ + message?: string; + /** + * + * @type {Array} + * @memberof MeasurementStudiesError + */ + errors?: Array; +} +/** + * The measurement funding type. For COMPLIMENTARY studies the cost will be covered by Amazon. Check vendor product policy for pricing info. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesFundingType { + Complimentary = 'COMPLIMENTARY', + ThirdPartyPayment = 'THIRD_PARTY_PAYMENT', + Cpm = 'CPM', + FlatRate = 'FLAT_RATE', + Other = 'OTHER' +} + +/** + * The grid question response object. Only applicable for SINGLE_SELECT_GRID type question. + * @export + * @interface MeasurementStudiesGridQuestionResponses + */ +export interface MeasurementStudiesGridQuestionResponses { + /** + * + * @type {Array} + * @memberof MeasurementStudiesGridQuestionResponses + */ + columns?: Array; + /** + * + * @type {Array} + * @memberof MeasurementStudiesGridQuestionResponses + */ + rows?: Array; +} +/** + * The measurement locale. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesLocale { + EnUs = 'EN_US', + Other = 'OTHER' +} + +/** + * The marketplace with corresponding rules. + * @export + * @interface MeasurementStudiesMarketplace + */ +export interface MeasurementStudiesMarketplace { + /** + * + * @type {MeasurementStudiesCountry} + * @memberof MeasurementStudiesMarketplace + */ + country?: MeasurementStudiesCountry; + /** + * + * @type {Array} + * @memberof MeasurementStudiesMarketplace + */ + supportedLocales?: Array; + /** + * The minimum impressions. + * @type {number} + * @memberof MeasurementStudiesMarketplace + */ + minimumImpressions?: number; + /** + * The time span in days to calculate budget. Null represents total impressions for the campaigns. + * @type {number} + * @memberof MeasurementStudiesMarketplace + */ + budgetTimeSpan?: number; + /** + * The minimum budget. Expressed in marketplace currency. + * @type {number} + * @memberof MeasurementStudiesMarketplace + */ + minimumBudget?: number; + /** + * The time span in days to calculate impressions. Null represents total impressions for the campaigns. + * @type {number} + * @memberof MeasurementStudiesMarketplace + */ + impressionTimeSpan?: number; +} +/** + * + * @export + * @interface MeasurementStudiesOmnichannelMetricsBrand + */ +export interface MeasurementStudiesOmnichannelMetricsBrand { + /** + * The brand canonical Id + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + brandId?: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + company?: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + category?: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + subcategory?: string; + /** + * The brand name. + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + brand?: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + majorBrand?: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrand + */ + manufacturer?: string; +} +/** + * The request object to fetch brands to be used in the OMNICHANNEL_METRICS vendor product. + * @export + * @interface MeasurementStudiesOmnichannelMetricsBrandSearchRequest + */ +export interface MeasurementStudiesOmnichannelMetricsBrandSearchRequest { + /** + * List of brandIds in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided. + * @type {Array} + * @memberof MeasurementStudiesOmnichannelMetricsBrandSearchRequest + */ + brandIdFilter?: Array; + /** + * Text to search for eligible brands in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided. + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsBrandSearchRequest + */ + brandNameSearch?: string; +} +/** + * The campaign study eligibility data. + * @export + * @interface MeasurementStudiesOmnichannelMetricsEligibilityData + */ +export interface MeasurementStudiesOmnichannelMetricsEligibilityData { + /** + * Optional current study identifier. If provided orders are expected to be added into this study and the orders already associated with this study will be excluded from certain eligibility checks. + * @type {string} + * @memberof MeasurementStudiesOmnichannelMetricsEligibilityData + */ + currentStudyId?: string; + /** + * A list of canonical lineItem identifiers that are excluded from the eligibility check. + * @type {Array} + * @memberof MeasurementStudiesOmnichannelMetricsEligibilityData + */ + excludedLineItemIds?: Array; + /** + * A list of DSP canonical order identifiers. By default all lineItems in those orders will be included. + * @type {Array} + * @memberof MeasurementStudiesOmnichannelMetricsEligibilityData + */ + orderIds?: Array; + /** + * A list of canonical Sponsored Ads campaign identifiers that are associated with the study. + * @type {Array} + * @memberof MeasurementStudiesOmnichannelMetricsEligibilityData + */ + campaignIds?: Array; + /** + * A list of canonical brand identifiers. + * @type {Array} + * @memberof MeasurementStudiesOmnichannelMetricsEligibilityData + */ + brandIds?: Array; +} +/** + * A list of measurement vendor products. + * @export + * @interface MeasurementStudiesPaginatedVendorProducts + */ +export interface MeasurementStudiesPaginatedVendorProducts { + /** + * The total number of vendor products. + * @type {number} + * @memberof MeasurementStudiesPaginatedVendorProducts + */ + totalResults?: number; + /** + * + * @type {Array} + * @memberof MeasurementStudiesPaginatedVendorProducts + */ + vendorProducts?: Array; + /** + * + * @type {string} + * @memberof MeasurementStudiesPaginatedVendorProducts + */ + nextToken?: string; +} +/** + * The placeholder value type. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesPlaceholderValueType { + String = 'STRING', + Integer = 'INTEGER', + Other = 'OTHER' +} + +/** + * The link that can be used to access corresponding resources in advertising portal. + * @export + * @interface MeasurementStudiesResourceLink + */ +export interface MeasurementStudiesResourceLink { + /** + * The resource name. + * @type {string} + * @memberof MeasurementStudiesResourceLink + */ + name?: string; + /** + * The resource url. + * @type {string} + * @memberof MeasurementStudiesResourceLink + */ + url?: string; +} +/** + * The sub error object. + * @export + * @interface MeasurementStudiesSubError + */ +export interface MeasurementStudiesSubError { + /** + * + * @type {string} + * @memberof MeasurementStudiesSubError + */ + fieldName?: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesSubError + */ + errorType: string; + /** + * + * @type {string} + * @memberof MeasurementStudiesSubError + */ + message: string; +} +/** + * The measurement survey. + * @export + * @interface MeasurementStudiesSurvey + */ +export interface MeasurementStudiesSurvey { + /** + * The vendor product canonical identifier. + * @type {string} + * @memberof MeasurementStudiesSurvey + */ + vendorProductId?: string; + /** + * The survey canonical identifier. Immutable field. + * @type {string} + * @memberof MeasurementStudiesSurvey + */ + surveyId?: string; + /** + * A list of custom survey questions. + * @type {Array} + * @memberof MeasurementStudiesSurvey + */ + customQuestions?: Array; + /** + * A list of templated survey short questions. + * @type {Array} + * @memberof MeasurementStudiesSurvey + */ + templatedShortQuestions?: Array; + /** + * The associated study identifier. Survey needs to be created prior to the study creation. + * @type {string} + * @memberof MeasurementStudiesSurvey + */ + studyId?: string; + /** + * + * @type {MeasurementStudiesSurveyStatus} + * @memberof MeasurementStudiesSurvey + */ + status?: MeasurementStudiesSurveyStatus; +} +/** + * The survey question category. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyQuestionCategory { + BrandKpi = 'BRAND_KPI', + Weighting = 'WEIGHTING', + Custom = 'CUSTOM', + Other = 'OTHER' +} + +/** + * The requirement for specific survey question category. + * @export + * @interface MeasurementStudiesSurveyQuestionCategoryRequirement + */ +export interface MeasurementStudiesSurveyQuestionCategoryRequirement { + /** + * The minimum number of questions required for the question category. + * @type {number} + * @memberof MeasurementStudiesSurveyQuestionCategoryRequirement + */ + minimumQuestions?: number; + /** + * The maximum number of questions required for the question category. + * @type {number} + * @memberof MeasurementStudiesSurveyQuestionCategoryRequirement + */ + maximumQuestions?: number; + /** + * + * @type {MeasurementStudiesSurveyQuestionCategory} + * @memberof MeasurementStudiesSurveyQuestionCategoryRequirement + */ + category?: MeasurementStudiesSurveyQuestionCategory; +} +/** + * The grid question response object. Only applicable for SINGLE_SELECT_GRID type question. + * @export + * @interface MeasurementStudiesSurveyQuestionGridQuestionResponse + */ +export interface MeasurementStudiesSurveyQuestionGridQuestionResponse { + /** + * + * @type {MeasurementStudiesSurveyQuestionPlaceholderCandidate} + * @memberof MeasurementStudiesSurveyQuestionGridQuestionResponse + */ + columns?: MeasurementStudiesSurveyQuestionPlaceholderCandidate; + /** + * + * @type {MeasurementStudiesSurveyQuestionPlaceholderCandidate} + * @memberof MeasurementStudiesSurveyQuestionGridQuestionResponse + */ + rows?: MeasurementStudiesSurveyQuestionPlaceholderCandidate; +} +/** + * The survey objective. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyQuestionObjectiveType { + Awareness = 'AWARENESS', + Preference = 'PREFERENCE', + Favorability = 'FAVORABILITY', + AdRecall = 'AD_RECALL', + Intent = 'INTENT', + Attitudes = 'ATTITUDES', + UnaidedAwareness = 'UNAIDED_AWARENESS', + Consideration = 'CONSIDERATION', + Age = 'AGE', + Gender = 'GENDER', + HouseholdIncome = 'HOUSEHOLD_INCOME', + HouseholdSize = 'HOUSEHOLD_SIZE', + ChildrenInHousehold = 'CHILDREN_IN_HOUSEHOLD', + Education = 'EDUCATION', + Ethnicity = 'ETHNICITY', + TimeOnline = 'TIME_ONLINE', + TvMediaConsumption = 'TV_MEDIA_CONSUMPTION', + InMarketStatus = 'IN_MARKET_STATUS', + PurchaseFrequency = 'PURCHASE_FREQUENCY', + PurchaseHistory = 'PURCHASE_HISTORY', + PurchaseLocation = 'PURCHASE_LOCATION', + Behaviors = 'BEHAVIORS', + Familiarity = 'FAMILIARITY', + Association = 'ASSOCIATION', + Other = 'OTHER' +} + +/** + * The object specifying a placeholder in Survey question. + * @export + * @interface MeasurementStudiesSurveyQuestionPlaceholder + */ +export interface MeasurementStudiesSurveyQuestionPlaceholder { + /** + * The survey question placeholder field name. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholder + */ + fieldName?: string; + /** + * The survey question placeholder field values. + * @type {Array} + * @memberof MeasurementStudiesSurveyQuestionPlaceholder + */ + fieldValues?: Array; +} +/** + * Allowed value range for placeholder. + * @export + * @interface MeasurementStudiesSurveyQuestionPlaceholderAllowedRange + */ +export interface MeasurementStudiesSurveyQuestionPlaceholderAllowedRange { + /** + * The minimum allowed value. + * @type {number} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedRange + */ + minimumValue?: number; + /** + * The field value that this range depends on. Will be empty if this range is the default range. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedRange + */ + parentValue?: string; + /** + * The maximum allowed value. + * @type {number} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedRange + */ + maximumValue?: number; + /** + * The field name that this range depends on. Will be empty if this range is the default range. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedRange + */ + parentField?: string; +} +/** + * Allowed value for placeholder. + * @export + * @interface MeasurementStudiesSurveyQuestionPlaceholderAllowedValue + */ +export interface MeasurementStudiesSurveyQuestionPlaceholderAllowedValue { + /** + * The field value that this value list depend on. Will be empty if this is the default list. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedValue + */ + parentValue?: string; + /** + * Allowed value string.. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedValue + */ + value?: string; + /** + * The field name that this value list depends on. Will be empty if this is the default list. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderAllowedValue + */ + parentField?: string; +} +/** + * The placeholder candidate in Survey question. + * @export + * @interface MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ +export interface MeasurementStudiesSurveyQuestionPlaceholderCandidate { + /** + * Allowed values for placeholder. Will be empty if placeholder is free text field. + * @type {Array} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + allowedValues?: Array; + /** + * The maximum allowed character length for each individual placeholder value. + * @type {number} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + maximumValueLength?: number; + /** + * The survey question placeholder field name. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + fieldName?: string; + /** + * Allowed value ranges for placeholder. Only applicable if the valueType is INTEGER. + * @type {Array} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + allowedValueRanges?: Array; + /** + * + * @type {MeasurementStudiesPlaceholderValueType} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + valueType?: MeasurementStudiesPlaceholderValueType; + /** + * Where the placeholder values will be inferred from. + * @type {Array} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + inferredFields?: Array; + /** + * Default values that will be appended to the values list regardless. + * @type {Array} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + defaultValues?: Array; + /** + * The minimum allowed character length for each individual placeholder value. + * @type {number} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + minimumValueLength?: number; + /** + * Whether custom value is allowed for the placeholder. + * @type {boolean} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + allowCustomValue?: boolean; + /** + * + * @type {MeasurementStudiesSurveyQuestionPlaceholderCandidateType} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderCandidate + */ + placeholderCandidateType?: MeasurementStudiesSurveyQuestionPlaceholderCandidateType; +} +/** + * The placeholder type for survey question template. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyQuestionPlaceholderCandidateType { + Channel = 'CHANNEL', + QuestionText = 'QUESTION_TEXT', + PlacementType = 'PLACEMENT_TYPE', + Response = 'RESPONSE', + Action = 'ACTION', + Time = 'TIME', + DummyPlaceholder1 = 'DUMMY_PLACEHOLDER_1', + DummyPlaceholder2 = 'DUMMY_PLACEHOLDER_2', + BrandOrProductCategory = 'BRAND_OR_PRODUCT_CATEGORY', + BrandOrProductName = 'BRAND_OR_PRODUCT_NAME', + Characteristic = 'CHARACTERISTIC', + Verb = 'VERB', + Category = 'CATEGORY', + Period = 'PERIOD', + CustomStatement = 'CUSTOM_STATEMENT', + Other = 'OTHER' +} + +/** + * + * @export + * @interface MeasurementStudiesSurveyQuestionPlaceholderFieldValue + */ +export interface MeasurementStudiesSurveyQuestionPlaceholderFieldValue { + /** + * The survey question placeholder field value. + * @type {string} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderFieldValue + */ + value?: string; + /** + * This is only required if the corresponding field is \'response\', this will help to define if the response value will be counted as a positive one in the study report. + * @type {boolean} + * @memberof MeasurementStudiesSurveyQuestionPlaceholderFieldValue + */ + isQualifying?: boolean; +} +/** + * The inferred field for survey question placeholder candidate. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyQuestionPlaceholderInferredField { + StudyBrandName = 'STUDY_BRAND_NAME', + StudyBrandNameUnqualified = 'STUDY_BRAND_NAME_UNQUALIFIED', + StudyPeerName = 'STUDY_PEER_NAME', + StudyProductCategory = 'STUDY_PRODUCT_CATEGORY', + StudyVerb = 'STUDY_VERB', + Other = 'OTHER' +} + +/** + * The survey question sub-category. Only applicable to certain categories. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyQuestionSubCategory { + Demographic = 'DEMOGRAPHIC', + Behavior = 'BEHAVIOR', + PurchaseHistory = 'PURCHASE_HISTORY', + Other = 'OTHER' +} + +/** + * The survey question type. SINGLE_SELECT question will allow customers to choose only one response, MULTI_SELECT question will allow customers to choose multiple responses, RATING will allow customers to choose a rating on a scale (e.g. 1 to 5), FREE_TEXT will allow customers to provide a free formed question text, SINGLE_ASSET_SELECT will allow customers to choose an asset as the response. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyQuestionType { + SingleSelect = 'SINGLE_SELECT', + MultiSelect = 'MULTI_SELECT', + Rating = 'RATING', + FreeText = 'FREE_TEXT', + SingleAssetSelect = 'SINGLE_ASSET_SELECT', + SingleSelectGrid = 'SINGLE_SELECT_GRID', + Other = 'OTHER' +} + +/** + * Template for short survey question for a vendor product. A short question supports 10 responses per question. For Grid based questions, maximum rows and columns can be 10 each. + * @export + * @interface MeasurementStudiesSurveyShortQuestionTemplate + */ +export interface MeasurementStudiesSurveyShortQuestionTemplate { + /** + * The minimum number of qualifying responses required for the question. This will be available if the qualifying responses are not pre-defined/inferred. + * @type {number} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + minimumQualifyingResponses?: number; + /** + * The maximum number of qualifying responses allowed for the question. This will be available if the qualifying responses are not pre-defined/inferred. + * @type {number} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + maximumQualifyingResponses?: number; + /** + * + * @type {MeasurementStudiesSurveyQuestionSubCategory} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + subCategory?: MeasurementStudiesSurveyQuestionSubCategory; + /** + * The pre-defined qualifying survey question responses with placeholders, this will help to define which responses will be counted as positive ones in the study report. + * @type {Array} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + qualifyingResponses?: Array; + /** + * The pre-defined survey question responses with placeholders. + * @type {Array} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + questionResponses?: Array; + /** + * + * @type {MeasurementStudiesLocale} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + locale?: MeasurementStudiesLocale; + /** + * + * @type {MeasurementStudiesSurveyQuestionType} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + type?: MeasurementStudiesSurveyQuestionType; + /** + * The priority of the question. If present this will determine the ordering of questions in a survey. The check will be enforced when a survey is created/updated. Lower number indicates higher priority. + * @type {number} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + priority?: number; + /** + * + * @type {MeasurementStudiesSurveyQuestionObjectiveType} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + objectiveType?: MeasurementStudiesSurveyQuestionObjectiveType; + /** + * The survey question text with placeholders. + * @type {string} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + questionText?: string; + /** + * The associated vendor product id. + * @type {string} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + vendorProductId?: string; + /** + * + * @type {Array} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + placeholderCandidates?: Array; + /** + * + * @type {MeasurementStudiesSurveyQuestionGridQuestionResponse} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + gridQuestionResponse?: MeasurementStudiesSurveyQuestionGridQuestionResponse; + /** + * The minimum number of responses required for the question. This will be available if the question responses are not pre-defined/inferred. + * @type {number} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + minimumQuestionResponses?: number; + /** + * + * @type {MeasurementStudiesSurveyQuestionCategory} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + category?: MeasurementStudiesSurveyQuestionCategory; + /** + * The maximum number of responses allowed for the question. This will be available if the question responses are not pre-defined/inferred. + * @type {number} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + maximumQuestionResponses?: number; + /** + * The survey question template canonical Id. + * @type {string} + * @memberof MeasurementStudiesSurveyShortQuestionTemplate + */ + surveyQuestionTemplateId?: string; +} +/** + * The survey status. Only required if the survey is in DRAFT. Created survey will be in AVAILABLE status by default and will only be in IN_USE status if it\'s associated with a study. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesSurveyStatus { + InUse = 'IN_USE', + Available = 'AVAILABLE', + Draft = 'DRAFT' +} + +/** + * The templated measurement survey question. + * @export + * @interface MeasurementStudiesTemplatedSurveyShortQuestion + */ +export interface MeasurementStudiesTemplatedSurveyShortQuestion { + /** + * + * @type {MeasurementStudiesGridQuestionResponses} + * @memberof MeasurementStudiesTemplatedSurveyShortQuestion + */ + gridQuestionResponse?: MeasurementStudiesGridQuestionResponses; + /** + * List of question placeholders + * @type {Array} + * @memberof MeasurementStudiesTemplatedSurveyShortQuestion + */ + placeholders?: Array; + /** + * The survey question template canonical identifier. + * @type {string} + * @memberof MeasurementStudiesTemplatedSurveyShortQuestion + */ + surveyQuestionTemplateId?: string; +} +/** + * The measurement vendor product. + * @export + * @interface MeasurementStudiesVendorProduct + */ +export interface MeasurementStudiesVendorProduct { + /** + * + * @type {MeasurementStudiesVendorType} + * @memberof MeasurementStudiesVendorProduct + */ + vendorType?: MeasurementStudiesVendorType; + /** + * The vendor product identifier. + * @type {string} + * @memberof MeasurementStudiesVendorProduct + */ + vendorProductId?: string; + /** + * + * @type {Array} + * @memberof MeasurementStudiesVendorProduct + */ + adType?: Array; + /** + * + * @type {MeasurementStudiesFundingType} + * @memberof MeasurementStudiesVendorProduct + */ + fundingType?: MeasurementStudiesFundingType; + /** + * The vendor product display name. + * @type {string} + * @memberof MeasurementStudiesVendorProduct + */ + displayName?: string; + /** + * + * @type {MeasurementStudyType} + * @memberof MeasurementStudiesVendorProduct + */ + studyType?: MeasurementStudyType; + /** + * + * @type {MeasurementStudyObjective} + * @memberof MeasurementStudiesVendorProduct + */ + objective?: MeasurementStudyObjective; +} +/** + * The measurement eligibility details for a certain vendor product. + * @export + * @interface MeasurementStudiesVendorProductEligibility + */ +export interface MeasurementStudiesVendorProductEligibility { + /** + * vendor product canonical identifier. + * @type {string} + * @memberof MeasurementStudiesVendorProductEligibility + */ + vendorProductId?: string; + /** + * A list of issues will be provided containing the fields causing the issue if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING. + * @type {Array} + * @memberof MeasurementStudiesVendorProductEligibility + */ + issues?: Array; + /** + * + * @type {MeasurementStudiesEligibilityStatus} + * @memberof MeasurementStudiesVendorProductEligibility + */ + status?: MeasurementStudiesEligibilityStatus; +} +/** + * The policy rules will be enforced at vendor product level. + * @export + * @interface MeasurementStudiesVendorProductPolicy + */ +export interface MeasurementStudiesVendorProductPolicy { + /** + * The maximum number of order allowed for the product. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + maximumOrders?: number; + /** + * + * @type {Array} + * @memberof MeasurementStudiesVendorProductPolicy + */ + supportedGoals?: Array; + /** + * Days required for measurement configuration. It is recommended that the startDate of the campaign has sufficient padding to accommodate this lead time, but measurement can begin after the campaign start date in some cases. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + leadTime?: number; + /** + * The required question objectives that need to be included as part of the survey. + * @type {Array} + * @memberof MeasurementStudiesVendorProductPolicy + */ + requiredQuestionObjectives?: Array; + /** + * Whether or not the benchMark category is required for measurement setup. + * @type {boolean} + * @memberof MeasurementStudiesVendorProductPolicy + */ + benchMarkCategoryRequired?: boolean; + /** + * List of top 100 supported verbs that can be used in survey questions. + * @type {Array} + * @memberof MeasurementStudiesVendorProductPolicy + */ + supportedVerbs?: Array; + /** + * The maximum number of survey questions required for the product. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + maximumSurveyQuestions?: number; + /** + * The maximum number of orders required for the product. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + minimumOrders?: number; + /** + * vendor product canonical identifier. + * @type {string} + * @memberof MeasurementStudiesVendorProductPolicy + */ + vendorProductId?: string; + /** + * Whether or not a verb is required for measurement setup. It will be used in applicable survey questions to construct the question text. + * @type {boolean} + * @memberof MeasurementStudiesVendorProductPolicy + */ + verbRequired?: boolean; + /** + * Whether custom survey questions are allowed. + * @type {boolean} + * @memberof MeasurementStudiesVendorProductPolicy + */ + customQuestionAllowed?: boolean; + /** + * The maximum required length/duration of the study in days. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + maximumStudyLength?: number; + /** + * The maximum number of peer names required for the product. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + maximumPeerNames?: number; + /** + * The requirements for survey question categories. + * @type {Array} + * @memberof MeasurementStudiesVendorProductPolicy + */ + requiredQuestionCategories?: Array; + /** + * + * @type {Array} + * @memberof MeasurementStudiesVendorProductPolicy + */ + supportedMarketplaces?: Array; + /** + * The minimum required length/duration of the study in days. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + minimumStudyLength?: number; + /** + * Whether or not the vendor requires an additional sign off process to fully qualify for study. + * @type {boolean} + * @memberof MeasurementStudiesVendorProductPolicy + */ + vendorApprovalRequired?: boolean; + /** + * The minimum number of peer names required for the product. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + minimumPeerNames?: number; + /** + * Whether or not the vendor assigned external reference identifier is required for measurement setup. + * @type {boolean} + * @memberof MeasurementStudiesVendorProductPolicy + */ + externalReferenceIdRequired?: boolean; + /** + * The minimum number of survey questions required for the product. + * @type {number} + * @memberof MeasurementStudiesVendorProductPolicy + */ + minimumSurveyQuestions?: number; +} +/** + * The vendor product recommendation object with elgibility status. + * @export + * @interface MeasurementStudiesVendorProductRecommendation + */ +export interface MeasurementStudiesVendorProductRecommendation { + /** + * Vendor product canonical identifier. + * @type {string} + * @memberof MeasurementStudiesVendorProductRecommendation + */ + vendorProductId?: string; + /** + * The lower the number, the more recommended the vendor product is. + * @type {number} + * @memberof MeasurementStudiesVendorProductRecommendation + */ + rank?: number; + /** + * A list of issues will be provided containing the fields causing the issue if the status is INELIGIBLE or ELIGIBLE_WITH_WARNING. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendation + */ + issues?: Array; + /** + * + * @type {MeasurementStudiesEligibilityStatus} + * @memberof MeasurementStudiesVendorProductRecommendation + */ + status?: MeasurementStudiesEligibilityStatus; +} +/** + * The recommendations metadata. + * @export + * @interface MeasurementStudiesVendorProductRecommendationsMetadata + */ +export interface MeasurementStudiesVendorProductRecommendationsMetadata { + /** + * + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsMetadata + */ + orderMetadata?: Array; + /** + * + * @type {MeasurementStudiesLocale} + * @memberof MeasurementStudiesVendorProductRecommendationsMetadata + */ + locale?: MeasurementStudiesLocale; + /** + * StudyType identifier filters to be applied when fecthing recommendations. If not supplied we will check for all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsMetadata + */ + studyTypeFilters?: Array; + /** + * The advertiserId. + * @type {string} + * @memberof MeasurementStudiesVendorProductRecommendationsMetadata + */ + advertiserId?: string; +} +/** + * Metadata around a hypothetical order. + * @export + * @interface MeasurementStudiesVendorProductRecommendationsOrderMetadata + */ +export interface MeasurementStudiesVendorProductRecommendationsOrderMetadata { + /** + * + * @type {MeasurementGoal} + * @memberof MeasurementStudiesVendorProductRecommendationsOrderMetadata + */ + goal?: MeasurementGoal; + /** + * The estimated end date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementStudiesVendorProductRecommendationsOrderMetadata + */ + endDate?: string; + /** + * The total estimated impressions of the order. + * @type {number} + * @memberof MeasurementStudiesVendorProductRecommendationsOrderMetadata + */ + impressions?: number; + /** + * The estimated start date of the order in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. + * @type {string} + * @memberof MeasurementStudiesVendorProductRecommendationsOrderMetadata + */ + startDate?: string; + /** + * The total estimated budget of the order. + * @type {number} + * @memberof MeasurementStudiesVendorProductRecommendationsOrderMetadata + */ + budget?: number; +} +/** + * The request object to get recommendations. + * @export + * @interface MeasurementStudiesVendorProductRecommendationsRequest + */ +export interface MeasurementStudiesVendorProductRecommendationsRequest { + /** + * FundingType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + fundingTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + vendorProductIdFilters?: Array; + /** + * VendorType filters to be applied when checking eligibility status. If not supplied we will check against all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + vendorTypeFilters?: Array; + /** + * + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + orderMetadata?: Array; + /** + * + * @type {MeasurementStudiesLocale} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + locale?: MeasurementStudiesLocale; + /** + * StudyType identifier filters to be applied when fecthing recommendations. If not supplied we will check for all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + studyTypeFilters?: Array; + /** + * The advertiserId. + * @type {string} + * @memberof MeasurementStudiesVendorProductRecommendationsRequest + */ + advertiserId?: string; +} +/** + * The request object to fetch measurement vendor products. + * @export + * @interface MeasurementStudiesVendorProductRequest + */ +export interface MeasurementStudiesVendorProductRequest { + /** + * FundingType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRequest + */ + fundingTypeFilters?: Array; + /** + * StudyObjective filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRequest + */ + objectiveTypeFilters?: Array; + /** + * VendorProduct identifier filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRequest + */ + vendorProductIdFilters?: Array; + /** + * AdType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRequest + */ + adTypeFilters?: Array; + /** + * VendorType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRequest + */ + vendorTypeFilters?: Array; + /** + * StudyType filters to be applied when fetching measurement vendor products. If not supplied we will include all available vendor products. + * @type {Array} + * @memberof MeasurementStudiesVendorProductRequest + */ + studyTypeFilters?: Array; +} +/** + * The measurement vendor name, each study type will have different supported vendors. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudiesVendorType { + Amazon = 'AMAZON', + Kantar = 'KANTAR', + Upwave = 'UPWAVE', + Nielsen = 'NIELSEN', + Macromill = 'MACROMILL', + Dynata = 'DYNATA', + Lucid = 'LUCID', + OmnichannelMetrics = 'OMNICHANNEL_METRICS', + Ispot = 'ISPOT', + Videoamp = 'VIDEOAMP', + Other = 'OTHER' +} + +/** + * Measurement category based on the purpose of the measurement. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudyObjective { + CampaignMeasurement = 'CAMPAIGN_MEASUREMENT', + CampaignPlanning = 'CAMPAIGN_PLANNING', + Other = 'OTHER' +} + +/** + * The status of the result of the study. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudyResultStatus { + Available = 'AVAILABLE', + Other = 'OTHER' +} + +/** + * The study status. Only required if study is in DRAFT as part of study creation/update. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudyStatus { + Running = 'RUNNING', + Pending = 'PENDING', + Approved = 'APPROVED', + Rejected = 'REJECTED', + Ended = 'ENDED', + Cancelled = 'CANCELLED', + Draft = 'DRAFT', + Infeasible = 'INFEASIBLE', + Other = 'OTHER' +} + +/** + * Measurement study status reason. + * @export + * @interface MeasurementStudyStatusReason + */ +export interface MeasurementStudyStatusReason { + /** + * + * @type {MeasurementStudyStatusReasonType} + * @memberof MeasurementStudyStatusReason + */ + measurementStudyStatusReasonType?: MeasurementStudyStatusReasonType; + /** + * Human readable description of status reason. + * @type {string} + * @memberof MeasurementStudyStatusReason + */ + statusReasonDescription?: string; +} +/** + * Measurement study reason type. Consider upgrading API version if enum OTHER is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudyStatusReasonType { + RemoveExtraSpacesBetweenBeforeOrAfterWords = 'REMOVE_EXTRA_SPACES_BETWEEN_BEFORE_OR_AFTER_WORDS', + RemoveSpacesBetweenLetters = 'REMOVE_SPACES_BETWEEN_LETTERS', + RemoveAllcapitalizedWordsExceptForAcronyms = 'REMOVE_ALLCAPITALIZED_WORDS_EXCEPT_FOR_ACRONYMS', + CapitalizeTheFirstLetterOfProperNounsLikeCountryNames = 'CAPITALIZE_THE_FIRST_LETTER_OF_PROPER_NOUNS_LIKE_COUNTRY_NAMES', + CapitalizeTheFirstLetterOfAllCustomAttributes = 'CAPITALIZE_THE_FIRST_LETTER_OF_ALL_CUSTOM_ATTRIBUTES', + ResolveInappropriatelyCapitalizedWords = 'RESOLVE_INAPPROPRIATELY_CAPITALIZED_WORDS', + ResolveImproperlyCapitalizedBrandOrProductCategory = 'RESOLVE_IMPROPERLY_CAPITALIZED_BRAND_OR_PRODUCT_CATEGORY', + ResolveImproperlyCapitalizedCustomInputs = 'RESOLVE_IMPROPERLY_CAPITALIZED_CUSTOM_INPUTS', + ResolveImproperlyPluralizedCustomInputs = 'RESOLVE_IMPROPERLY_PLURALIZED_CUSTOM_INPUTS', + RemoveEllipses = 'REMOVE_ELLIPSES', + RemoveHyphensSeparatingSingleWords = 'REMOVE_HYPHENS_SEPARATING_SINGLE_WORDS', + RemoveExtraHyphens = 'REMOVE_EXTRA_HYPHENS', + RemovePunctationCombinations = 'REMOVE_PUNCTATION_COMBINATIONS', + RemoveExtraPunctuation = 'REMOVE_EXTRA_PUNCTUATION', + RemovePunctuationAtTheEndOfWords = 'REMOVE_PUNCTUATION_AT_THE_END_OF_WORDS', + ResolveUnclearBrandOrProductCategory = 'RESOLVE_UNCLEAR_BRAND_OR_PRODUCT_CATEGORY', + ResolveUnclearPeers = 'RESOLVE_UNCLEAR_PEERS', + ResolveUnclearBrandOrProductName = 'RESOLVE_UNCLEAR_BRAND_OR_PRODUCT_NAME', + ResolveUnclearCustomInputs = 'RESOLVE_UNCLEAR_CUSTOM_INPUTS', + RemoveTypos = 'REMOVE_TYPOS', + ResolveSubjectVerbDisagreement = 'RESOLVE_SUBJECT_VERB_DISAGREEMENT', + MakeBrandOrProductCategoryPlural = 'MAKE_BRAND_OR_PRODUCT_CATEGORY_PLURAL', + ResolveIncorrectPossessiveNouns = 'RESOLVE_INCORRECT_POSSESSIVE_NOUNS', + CapitalizeTheFirstLetterOfProperNouns = 'CAPITALIZE_THE_FIRST_LETTER_OF_PROPER_NOUNS', + RemoveRedundantAnswerChoices = 'REMOVE_REDUNDANT_ANSWER_CHOICES', + ResolveIncorrectTenses = 'RESOLVE_INCORRECT_TENSES', + RemoveDuplicateInputs = 'REMOVE_DUPLICATE_INPUTS', + RemoveSpecialCharactersAndSymbols = 'REMOVE_SPECIAL_CHARACTERS_AND_SYMBOLS', + RemoveNonenglishWords = 'REMOVE_NONENGLISH_WORDS', + RemoveUnclearOrObfuscatedOffensiveLanguage = 'REMOVE_UNCLEAR_OR_OBFUSCATED_OFFENSIVE_LANGUAGE', + RemoveDerogatoryLanguage = 'REMOVE_DEROGATORY_LANGUAGE', + RemoveOffensiveAcronymsAndAbbreviations = 'REMOVE_OFFENSIVE_ACRONYMS_AND_ABBREVIATIONS', + RemoveOffensiveWordsOrTermsDisguisedAsNonoffensiveTerms = 'REMOVE_OFFENSIVE_WORDS_OR_TERMS_DISGUISED_AS_NONOFFENSIVE_TERMS', + RemoveTermsPresentedInAWayInWhichTheirTrueMeaningIsClearlyOffensive = 'REMOVE_TERMS_PRESENTED_IN_A_WAY_IN_WHICH_THEIR_TRUE_MEANING_IS_CLEARLY_OFFENSIVE', + RemoveVulgarAndProfaneWords = 'REMOVE_VULGAR_AND_PROFANE_WORDS', + RemoveIrrelevantWords = 'REMOVE_IRRELEVANT_WORDS', + ResolveNegativeQuestionsAndAnswersAboutPeers = 'RESOLVE_NEGATIVE_QUESTIONS_AND_ANSWERS_ABOUT_PEERS', + SurveysWithPoliticalContentAreNotAllowed = 'SURVEYS_WITH_POLITICAL_CONTENT_ARE_NOT_ALLOWED', + OnlyOneActiveStudyIsAllowedPerBrandOrProduct = 'ONLY_ONE_ACTIVE_STUDY_IS_ALLOWED_PER_BRAND_OR_PRODUCT', + AddOrdersToIncreaseImpressions = 'ADD_ORDERS_TO_INCREASE_IMPRESSIONS', + InfeasibleNotEnoughImpressions = 'INFEASIBLE_NOT_ENOUGH_IMPRESSIONS', + Other = 'OTHER' +} + +/** + * The submission type for the creation and updating of studies. Currently, this submission type is supported for brand lift and reach and frequency studies only. This is an optional parameter in each of the request objects and its default value is `SUBMISSION` if not provided. A value of `SUBMISSION` indicates that a study should be submitted for approval. A value of `DRAFT` indicates that a study should be saved but not submitted. + * @export + * @enum {string} + */ + +export enum MeasurementStudySubmissionType { + Draft = 'DRAFT', + Submission = 'SUBMISSION' +} + +/** + * The study type. Consider upgrading API version if enum `OTHER` is received. + * @export + * @enum {string} + */ + +export enum MeasurementStudyType { + BrandLift = 'BRAND_LIFT', + OmnichannelMetrics = 'OMNICHANNEL_METRICS', + AudienceResearch = 'AUDIENCE_RESEARCH', + CreativeTesting = 'CREATIVE_TESTING', + ReachAndFrequency = 'REACH_AND_FREQUENCY', + Other = 'OTHER' +} + +/** + * The request object to fetch brands to be used in the OMNICHANNEL_METRICS vendor product. + * @export + * @interface OmnichannelMetricsBrandSearchRequestV1M2 + */ +export interface OmnichannelMetricsBrandSearchRequestV1M2 { + /** + * List of brandIds in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided. + * @type {Array} + * @memberof OmnichannelMetricsBrandSearchRequestV1M2 + */ + brandIdFilter?: Array; + /** + * Text to search for eligible brands in the omnichannel metrics brand catalog. Either one of brandIdFilter or brandNameSearch should be provided. + * @type {string} + * @memberof OmnichannelMetricsBrandSearchRequestV1M2 + */ + brandNameSearch?: string; +} +/** + * + * @export + * @interface OmnichannelMetricsBrandV1M2 + */ +export interface OmnichannelMetricsBrandV1M2 { + /** + * + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + company?: string; + /** + * The brand canonical Id + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + id?: string; + /** + * + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + category?: string; + /** + * + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + subcategory?: string; + /** + * The brand name. + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + brand?: string; + /** + * + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + majorBrand?: string; + /** + * + * @type {string} + * @memberof OmnichannelMetricsBrandV1M2 + */ + manufacturer?: string; +} +/** + * A list of studies. + * @export + * @interface PaginatedBaseStudiesV1 + */ +export interface PaginatedBaseStudiesV1 { + /** + * + * @type {string} + * @memberof PaginatedBaseStudiesV1 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedBaseStudiesV1 + */ + measurements?: Array; +} +/** + * A list of studies. + * @export + * @interface PaginatedBaseStudiesV1M1 + */ +export interface PaginatedBaseStudiesV1M1 { + /** + * + * @type {string} + * @memberof PaginatedBaseStudiesV1M1 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedBaseStudiesV1M1 + */ + measurements?: Array; +} +/** + * A list of audience research studies. + * @export + * @interface PaginatedDSPAudienceResearchStudiesV1M2 + */ +export interface PaginatedDSPAudienceResearchStudiesV1M2 { + /** + * + * @type {string} + * @memberof PaginatedDSPAudienceResearchStudiesV1M2 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedDSPAudienceResearchStudiesV1M2 + */ + measurements?: Array; +} +/** + * A list of studies. + * @export + * @interface PaginatedDSPBrandLiftStudiesV1 + */ +export interface PaginatedDSPBrandLiftStudiesV1 { + /** + * + * @type {string} + * @memberof PaginatedDSPBrandLiftStudiesV1 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedDSPBrandLiftStudiesV1 + */ + measurements?: Array; +} +/** + * A list of studies. + * @export + * @interface PaginatedDSPBrandLiftStudiesV1M1 + */ +export interface PaginatedDSPBrandLiftStudiesV1M1 { + /** + * + * @type {string} + * @memberof PaginatedDSPBrandLiftStudiesV1M1 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedDSPBrandLiftStudiesV1M1 + */ + measurements?: Array; +} +/** + * A list of creative testing studies. * @export * @interface PaginatedDSPCreativeTestingStudiesV1M2 */ @@ -3218,34 +6822,267 @@ export interface PaginatedDSPOmnichannelMetricsStudiesV1M2 { /** * * @type {string} - * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M2 + * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M2 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M2 + */ + measurements?: Array; +} +/** + * A list of studies. + * @export + * @interface PaginatedDSPOmnichannelMetricsStudiesV1M3 + */ +export interface PaginatedDSPOmnichannelMetricsStudiesV1M3 { + /** + * + * @type {string} + * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M3 + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M3 + */ + measurements?: Array; +} +/** + * A list of audience research studies. + * @export + * @interface PaginatedMeasurementAudienceResearchStudies + */ +export interface PaginatedMeasurementAudienceResearchStudies { + /** + * + * @type {string} + * @memberof PaginatedMeasurementAudienceResearchStudies + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementAudienceResearchStudies + */ + measurements?: Array; +} +/** + * A list of studies. + * @export + * @interface PaginatedMeasurementBaseStudies + */ +export interface PaginatedMeasurementBaseStudies { + /** + * + * @type {string} + * @memberof PaginatedMeasurementBaseStudies + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementBaseStudies + */ + measurements?: Array; +} +/** + * A list of Brand Lift studies. + * @export + * @interface PaginatedMeasurementBrandLiftStudies + */ +export interface PaginatedMeasurementBrandLiftStudies { + /** + * + * @type {string} + * @memberof PaginatedMeasurementBrandLiftStudies + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementBrandLiftStudies + */ + measurements?: Array; +} +/** + * A list of creative testing studies. + * @export + * @interface PaginatedMeasurementCreativeTestingStudies + */ +export interface PaginatedMeasurementCreativeTestingStudies { + /** + * + * @type {string} + * @memberof PaginatedMeasurementCreativeTestingStudies + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementCreativeTestingStudies + */ + measurements?: Array; +} +/** + * A list of studies. + * @export + * @interface PaginatedMeasurementOmnichannelMetricsStudies + */ +export interface PaginatedMeasurementOmnichannelMetricsStudies { + /** + * + * @type {string} + * @memberof PaginatedMeasurementOmnichannelMetricsStudies + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementOmnichannelMetricsStudies + */ + measurements?: Array; +} +/** + * A list of Reach and Frequency studies. + * @export + * @interface PaginatedMeasurementReachAndFrequencyStudies + */ +export interface PaginatedMeasurementReachAndFrequencyStudies { + /** + * + * @type {string} + * @memberof PaginatedMeasurementReachAndFrequencyStudies + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementReachAndFrequencyStudies + */ + measurements?: Array; +} +/** + * + * @export + * @interface PaginatedMeasurementStudiesOmnichannelMetricsBrands + */ +export interface PaginatedMeasurementStudiesOmnichannelMetricsBrands { + /** + * The total number of matched brands. + * @type {number} + * @memberof PaginatedMeasurementStudiesOmnichannelMetricsBrands + */ + totalResults?: number; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementStudiesOmnichannelMetricsBrands + */ + brands?: Array; + /** + * + * @type {string} + * @memberof PaginatedMeasurementStudiesOmnichannelMetricsBrands + */ + nextToken?: string; +} +/** + * + * @export + * @interface PaginatedMeasurementStudiesSurveyQuestionTemplates + */ +export interface PaginatedMeasurementStudiesSurveyQuestionTemplates { + /** + * + * @type {Array} + * @memberof PaginatedMeasurementStudiesSurveyQuestionTemplates + */ + surveyQuestionTemplates?: Array; + /** + * The total number of templates. + * @type {number} + * @memberof PaginatedMeasurementStudiesSurveyQuestionTemplates + */ + totalResults?: number; + /** + * + * @type {string} + * @memberof PaginatedMeasurementStudiesSurveyQuestionTemplates + */ + nextToken?: string; +} +/** + * A list of study surveys. + * @export + * @interface PaginatedMeasurementStudiesSurveys + */ +export interface PaginatedMeasurementStudiesSurveys { + /** + * + * @type {string} + * @memberof PaginatedMeasurementStudiesSurveys + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof PaginatedMeasurementStudiesSurveys + */ + surveys?: Array; +} +/** + * A list of measurement vendor products policies. + * @export + * @interface PaginatedMeasurementStudiesVendorProductPolicies + */ +export interface PaginatedMeasurementStudiesVendorProductPolicies { + /** + * The total number of vendor products. + * @type {number} + * @memberof PaginatedMeasurementStudiesVendorProductPolicies + */ + totalResults?: number; + /** + * + * @type {string} + * @memberof PaginatedMeasurementStudiesVendorProductPolicies */ nextToken?: string; /** * - * @type {Array} - * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M2 + * @type {Array} + * @memberof PaginatedMeasurementStudiesVendorProductPolicies */ - measurements?: Array; + policies?: Array; } /** - * A list of studies. + * The vendor product recommendations response object. * @export - * @interface PaginatedDSPOmnichannelMetricsStudiesV1M3 + * @interface PaginatedMeasurementStudiesVendorProductRecommendationsResponse */ -export interface PaginatedDSPOmnichannelMetricsStudiesV1M3 { +export interface PaginatedMeasurementStudiesVendorProductRecommendationsResponse { + /** + * + * @type {MeasurementStudiesEligibilityMetadata} + * @memberof PaginatedMeasurementStudiesVendorProductRecommendationsResponse + */ + metadata?: MeasurementStudiesEligibilityMetadata; /** * * @type {string} - * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M3 + * @memberof PaginatedMeasurementStudiesVendorProductRecommendationsResponse */ nextToken?: string; /** * - * @type {Array} - * @memberof PaginatedDSPOmnichannelMetricsStudiesV1M3 + * @type {Array} + * @memberof PaginatedMeasurementStudiesVendorProductRecommendationsResponse */ - measurements?: Array; + recommendations?: Array; } /** * @@ -5749,11 +9586,11 @@ export const MeasurementApiAxiosParamCreator = function (configuration?: Configu * @summary Cancel existing studies. Once a study is cancelled it can not be resumed again. * @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 {Array} [studyIdFilters] Study canonical identifiers to cancel. + * @param {Array} [studyIds] Study canonical identifiers to cancel. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - cancelMeasurementStudies: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, studyIdFilters?: Array, options: any = {}): Promise => { + cancelMeasurementStudies: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, studyIds?: Array, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('cancelMeasurementStudies', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined @@ -5770,8 +9607,8 @@ export const MeasurementApiAxiosParamCreator = function (configuration?: Configu const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; - if (studyIdFilters) { - localVarQueryParameter['studyIdFilters'] = studyIdFilters.join(COLLECTION_FORMATS.csv); + if (studyIds) { + localVarQueryParameter['studyIds'] = studyIds.join(COLLECTION_FORMATS.csv); } if (amazonAdvertisingAPIClientId !== undefined && amazonAdvertisingAPIClientId !== null) { @@ -6323,6 +10160,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. @@ -7429,12 +11321,12 @@ export const MeasurementApiFp = function(configuration?: Configuration) { * @summary Cancel existing studies. Once a study is cancelled it can not be resumed again. * @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 {Array} [studyIdFilters] Study canonical identifiers to cancel. + * @param {Array} [studyIds] Study canonical identifiers to cancel. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async cancelMeasurementStudies(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, studyIdFilters?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.cancelMeasurementStudies(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, studyIdFilters, options); + async cancelMeasurementStudies(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, studyIds?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cancelMeasurementStudies(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, studyIds, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -7577,6 +11469,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. @@ -7872,12 +11778,12 @@ export const MeasurementApiFactory = function (configuration?: Configuration, ba * @summary Cancel existing studies. Once a study is cancelled it can not be resumed again. * @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 {Array} [studyIdFilters] Study canonical identifiers to cancel. + * @param {Array} [studyIds] Study canonical identifiers to cancel. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - cancelMeasurementStudies(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, studyIdFilters?: Array, options?: any): AxiosPromise { - return localVarFp.cancelMeasurementStudies(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, studyIdFilters, options).then((request) => request(axios, basePath)); + cancelMeasurementStudies(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, studyIds?: Array, options?: any): AxiosPromise { + return localVarFp.cancelMeasurementStudies(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, studyIds, options).then((request) => request(axios, basePath)); }, /** * Checks the DSP AUDIENCE_RESEARCH study type eligibility status against vendor products. **Requires one of these permissions**: [] @@ -8009,6 +11915,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. @@ -8298,7 +12217,7 @@ export interface MeasurementApiCancelMeasurementStudiesRequest { * @type {Array} * @memberof MeasurementApiCancelMeasurementStudies */ - readonly studyIdFilters?: Array + readonly studyIds?: Array } /** @@ -8651,6 +12570,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 @@ -9430,7 +13384,7 @@ export class MeasurementApi extends BaseAPI { * @memberof MeasurementApi */ public cancelMeasurementStudies(requestParameters: MeasurementApiCancelMeasurementStudiesRequest, options?: any) { - return MeasurementApiFp(this.configuration).cancelMeasurementStudies(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.studyIdFilters, options).then((request) => request(this.axios, this.basePath)); + return MeasurementApiFp(this.configuration).cancelMeasurementStudies(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.studyIds, options).then((request) => request(this.axios, this.basePath)); } /** @@ -9553,6 +13507,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. @@ -9783,3 +13749,182 @@ export class MeasurementApi extends BaseAPI { } +/** + * OmnichannelMetricsStudyApi - axios parameter creator + * @export + */ +export const OmnichannelMetricsStudyApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Search for brands to be used in the OMNICHANNEL_METRICS vendor product. **Requires one of these permissions**: [] **Requires one of these permissions**: [] + * @summary Search for brands to be used in the OMNICHANNEL_METRICS vendor product. + * @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} [nextToken] Token from a previous request. Use in conjunction with the `maxResults` parameter to control pagination of the returned array. + * @param {number} [maxResults] Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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. + * @param {MeasurementStudiesOmnichannelMetricsBrandSearchRequest} [measurementStudiesOmnichannelMetricsBrandSearchRequest] Fetch measurement vendor products request object. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getMeasurementStudiesOmnichannelMetricsBrands: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, maxResults?: number, measurementStudiesOmnichannelMetricsBrandSearchRequest?: MeasurementStudiesOmnichannelMetricsBrandSearchRequest, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('getMeasurementStudiesOmnichannelMetricsBrands', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('getMeasurementStudiesOmnichannelMetricsBrands', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/measurementStudies/omnichannelMetrics/brands/list`; + // 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 (nextToken !== undefined) { + localVarQueryParameter['nextToken'] = nextToken; + } + + if (maxResults !== undefined) { + localVarQueryParameter['maxResults'] = maxResults; + } + + 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.measurementstudiesomnichannelmetricsbrands.v1+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(measurementStudiesOmnichannelMetricsBrandSearchRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * OmnichannelMetricsStudyApi - functional programming interface + * @export + */ +export const OmnichannelMetricsStudyApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = OmnichannelMetricsStudyApiAxiosParamCreator(configuration) + return { + /** + * Search for brands to be used in the OMNICHANNEL_METRICS vendor product. **Requires one of these permissions**: [] **Requires one of these permissions**: [] + * @summary Search for brands to be used in the OMNICHANNEL_METRICS vendor product. + * @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} [nextToken] Token from a previous request. Use in conjunction with the `maxResults` parameter to control pagination of the returned array. + * @param {number} [maxResults] Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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. + * @param {MeasurementStudiesOmnichannelMetricsBrandSearchRequest} [measurementStudiesOmnichannelMetricsBrandSearchRequest] Fetch measurement vendor products request object. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getMeasurementStudiesOmnichannelMetricsBrands(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, maxResults?: number, measurementStudiesOmnichannelMetricsBrandSearchRequest?: MeasurementStudiesOmnichannelMetricsBrandSearchRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getMeasurementStudiesOmnichannelMetricsBrands(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, nextToken, maxResults, measurementStudiesOmnichannelMetricsBrandSearchRequest, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * OmnichannelMetricsStudyApi - factory interface + * @export + */ +export const OmnichannelMetricsStudyApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = OmnichannelMetricsStudyApiFp(configuration) + return { + /** + * Search for brands to be used in the OMNICHANNEL_METRICS vendor product. **Requires one of these permissions**: [] **Requires one of these permissions**: [] + * @summary Search for brands to be used in the OMNICHANNEL_METRICS vendor product. + * @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} [nextToken] Token from a previous request. Use in conjunction with the `maxResults` parameter to control pagination of the returned array. + * @param {number} [maxResults] Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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. + * @param {MeasurementStudiesOmnichannelMetricsBrandSearchRequest} [measurementStudiesOmnichannelMetricsBrandSearchRequest] Fetch measurement vendor products request object. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getMeasurementStudiesOmnichannelMetricsBrands(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, maxResults?: number, measurementStudiesOmnichannelMetricsBrandSearchRequest?: MeasurementStudiesOmnichannelMetricsBrandSearchRequest, options?: any): AxiosPromise { + return localVarFp.getMeasurementStudiesOmnichannelMetricsBrands(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, nextToken, maxResults, measurementStudiesOmnichannelMetricsBrandSearchRequest, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Request parameters for getMeasurementStudiesOmnichannelMetricsBrands operation in OmnichannelMetricsStudyApi. + * @export + * @interface OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrandsRequest + */ +export interface OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrandsRequest { + /** + * The identifier of a client associated with a \"Login with Amazon\" account. + * @type {string} + * @memberof OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrands + */ + 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 OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrands + */ + readonly amazonAdvertisingAPIScope: string + + /** + * Token from a previous request. Use in conjunction with the `maxResults` parameter to control pagination of the returned array. + * @type {string} + * @memberof OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrands + */ + readonly nextToken?: string + + /** + * Sets the maximum number of brands in the returned array. Use in conjunction with the `nextToken` parameter to control pagination. The range for maxResults is [1,100] with default as 10. 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. + * @type {number} + * @memberof OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrands + */ + readonly maxResults?: number + + /** + * Fetch measurement vendor products request object. + * @type {MeasurementStudiesOmnichannelMetricsBrandSearchRequest} + * @memberof OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrands + */ + readonly measurementStudiesOmnichannelMetricsBrandSearchRequest?: MeasurementStudiesOmnichannelMetricsBrandSearchRequest +} + +/** + * OmnichannelMetricsStudyApi - object-oriented interface + * @export + * @class OmnichannelMetricsStudyApi + * @extends {BaseAPI} + */ +export class OmnichannelMetricsStudyApi extends BaseAPI { + /** + * Search for brands to be used in the OMNICHANNEL_METRICS vendor product. **Requires one of these permissions**: [] **Requires one of these permissions**: [] + * @summary Search for brands to be used in the OMNICHANNEL_METRICS vendor product. + * @param {OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrandsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OmnichannelMetricsStudyApi + */ + public getMeasurementStudiesOmnichannelMetricsBrands(requestParameters: OmnichannelMetricsStudyApiGetMeasurementStudiesOmnichannelMetricsBrandsRequest, options?: any) { + return OmnichannelMetricsStudyApiFp(this.configuration).getMeasurementStudiesOmnichannelMetricsBrands(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.nextToken, requestParameters.maxResults, requestParameters.measurementStudiesOmnichannelMetricsBrandSearchRequest, options).then((request) => request(this.axios, this.basePath)); + } +} + + diff --git a/src/apis/models/dsp-reports.ts b/src/apis/models/dsp-reports.ts index 5ac8a7f..7877375 100644 --- a/src/apis/models/dsp-reports.ts +++ b/src/apis/models/dsp-reports.ts @@ -53,7 +53,7 @@ export interface CreateReportRequestBodyV2 { */ orderIds?: Array; /** - * Specify a comma-delimited string of metrics field names to include in the report. For example: \"impressions, clickThroughs, CTR, eCPC, totalCost, eCPM\". If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error.
`Common Fields`These fields will be added when reportType is `CAMPAIGN, INVENTORY, or AUDIENCE`. 
totalCost
supplyCost
amazonAudienceFee
advertiserTimezone
advertiserCountry
amazonPlatformFee
impressions
clickThroughs
CTR
eCPM
eCPC
dpv14d
dpvViews14d
dpvClicks14d
dpvr14d
eCPDPV14d
pRPV14d
pRPVViews14d
pRPVClicks14d
pRPVr14d
eCPPRPV14d
atl14d
atlViews14d
atlClicks14d
atlr14d
eCPAtl14d
atc14d
atcViews14d
atcClicks14d
atcr14d
eCPAtc14d
purchases14d
purchasesViews14d
purchasesClicks14d
purchaseRate14d
eCPP14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newToBrandPurchaseRate14d
newToBrandECPP14d
percentOfPurchasesNewToBrand14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
addToWatchlistCVR14d
addToWatchlistCPA14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
downloadedVideoPlayRate14d
eCPDVP14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
videoStreamsRate14d
eCPVS14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
playTrailerRate14d
eCPPT14d
rentals14d
rentalsViews14d
rentalsClicks14d
rentalRate14d
ecpr14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoDownloadRate14d
ecpvd14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
newSubscribeAndSaveRate14d
eCPnewSubscribeAndSave14d
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
totalPixelCVR14d
totalPixelCPA14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
marketingLandingPageCVR14d
marketingLandingPageCPA14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
subscriptionPageCVR14d
subscriptionPageCPA14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
signUpPageCVR14d
signUpPageCPA14d
application14d
applicationViews14d
applicationClicks14d
applicationCVR14d
applicationCPA14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
gameLoadCVR14d
gameLoadCPA14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
widgetLoadCVR14d
widgetLoadCPA14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyStartCVR14d
surveyStartCPA14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
surveyFinishCVR14d
surveyFinishCPA14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
bannerInteractionCVR14d
bannerInteractionCPA14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
widgetInteractionCVR14d
widgetInteractionCPA14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
gameInteractionCVR14d
gameInteractionCPA14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailLoadCVR14d
emailLoadCPA14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
emailInteractionCVR14d
emailInteractionCPA14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
submitButtonCVR14d
submitButtonCPA14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
purchaseButtonCVR14d
purchaseButtonCPA14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
clickOnRedirectCVR14d
clickOnRedirectCPA14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
signUpButtonCVR14d
signUpButtonCPA14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
subscriptionButtonCVR14d
subscriptionButtonCPA14d
successPage14d
successPageViews14d
successPageClicks14d
successPageCVR14d
successPageCPA14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
thankYouPageCVR14d
thankYouPageCPA14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationFormCVR14d
registrationFormCPA14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
registrationConfirmPageCVR14d
registrationConfirmPageCPA14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
storeLocatorPageCVR14d
storeLocatorPageCPA14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
mobileAppFirstStartCVR14d
mobileAppFirstStartsCPA14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement1CVR
brandStoreEngagement1CPA
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement2CVR
brandStoreEngagement2CPA
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement3CVR
brandStoreEngagement3CPA
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement4CVR
brandStoreEngagement4CPA
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement5CVR
brandStoreEngagement5CPA
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement6CVR
brandStoreEngagement6CPA
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
brandStoreEngagement7CVR
brandStoreEngagement7CPA
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
addedToShoppingCartCVR14d
addedToShoppingCartCPA14d
productPurchased
productPurchasedViews
productPurchasedClicks
productPurchasedCVR
productPurchasedCPA
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
homepageVisitCVR14d
homepageVisitCPA14d
videoStarted
videoStartedViews
videoStartedClicks
videoStartedCVR
videoStartedCPA
videoCompleted
videoCompletedViews
videoEndClicks
videoCompletedCVR
videoCompletedCPA
messageSent14d
messageSentViews14d
messageSentClicks14d
messageSentCVR14d
messageSentCPA14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupClickToPageCVR
mashupClickToPageCPA
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupBackupImageCVR
mashupBackupImageCPA
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToCartClickCVR14d
mashupAddToCartCPA14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupAddToWishlistCVR14d
mashupAddToWishlistCPA14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupSubscribeAndSaveCVR14d
mashupSubscribeAndSaveCPA14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupClipCouponClickCVR14d
mashupClipCouponClickCPA14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
mashupShopNowClickCVR14d
mashupShopNowClickCPA14d
referral14d
referralViews14d
referralClicks14d
referralCVR14d
referralCPA14d
accept14d
acceptViews14d
acceptClicks14d
acceptCVR14d
acceptCPA14d
decline14d
declineViews14d
declineClicks14d
declineCVR14d
declineCPA14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoCompletionRate
ecpvc
videoPause
videoResume
videoMute
videoUnmute
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
dropDownSelectionCVR14d
dropDownSelectionCPA14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate

`Campaign Fields`These fields will be added when reportType is Campaign.  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d

`Inventory Fields`These fields will be added when reportType is Inventory  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
placementName
placementSize
dealType

`Audience Fields`These fields will be added when reportType is Audience.  
lineitemtype
segmentClassCode
segmentSource
segmentType
segmentMarketplaceID
targetingMethod

`Product Fields`These fields can be specified when reportType is `PRODUCTS`.  
reportGranularity(Default)
amazonStandardId(Default)
parentASIN(Default)
marketplace(Default)
brandName(Default)
asinConversionType(Default)
featuredASIN(Default)
productName
productGroup
productCategory
productSubcategory
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
percentOfPurchasesNewToBrand14d
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalPercentOfPurchasesNewToBrand14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
unitsSold14d
sales14d
totalUnitsSold14d
totalSales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandHaloDetailPage14d
brandHaloDetailPageViews14d
brandHaloDetailPageClicks14d
brandHaloProductReviewPage14d
brandHaloProductReviewPageViews14d
brandHaloProductReviewPageClicks14d
brandHaloAddToList14d
brandHaloAddToListViews14d
brandHaloAddToListClicks14d
brandHaloAddToCart14d
brandHaloAddToCartViews14d
brandHaloAddToCartClicks14d
brandHaloPurchases14d
brandHaloPurchasesViews14d
brandHaloPurchasesClicks14d
brandHaloNewToBrandPurchases14d
brandHaloNewToBrandPurchasesViews14d
brandHaloNewToBrandPurchasesClicks14d
brandHaloPercentOfPurchasesNewToBrand14d
brandHaloNewSubscribeAndSave14d
brandHaloNewSubscribeAndSaveViews14d
brandHaloNewSubscribeAndSaveClicks14d
brandHaloTotalUnitsSold14d
brandHaloTotalSales14d
brandHaloTotalNewToBrandSales14d
brandHaloTotalNewToBrandUnitsSold14d

`Tech and Geo Fields`These fields can be specified when reportType is `TECHNOLOGY` or `Geography`.  
agencyFee
totalCost
impressions
viewableImpressions
clickThroughs
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
application14d
applicationViews14d
applicationClicks14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
successPage14d
successPageViews14d
successPageClicks14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
productPurchased
productPurchasedViews
productPurchasedClicks
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
videoStarted
videoStartedViews
videoStartedClicks
videoCompleted
videoCompletedViews
videoEndClicks
messageSent14d
messageSentViews14d
messageSentClicks14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
referral14d
referralViews14d
referralClicks14d
accept14d
acceptViews14d
acceptClicks14d
decline14d
declineViews14d
declineClicks14d
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
rentals14d
rentalsViews14d
rentalsClicks14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoPause
videoResume
videoMute
videoUnmute
unitsSold14d
sales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate
+ * Specify a comma-delimited string of metrics field names to include in the report. For example: \"impressions, clickThroughs, CTR, eCPC, totalCost, eCPM\". If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error.
`Common Fields`These fields will be added when reportType is `CAMPAIGN, INVENTORY, or AUDIENCE`. 
totalCost
supplyCost
amazonAudienceFee
advertiserTimezone
advertiserCountry
amazonPlatformFee
amazonOmnichannelMetricsFee
impressions
clickThroughs
CTR
eCPM
eCPC
dpv14d
dpvViews14d
dpvClicks14d
dpvr14d
eCPDPV14d
pRPV14d
pRPVViews14d
pRPVClicks14d
pRPVr14d
eCPPRPV14d
atl14d
atlViews14d
atlClicks14d
atlr14d
eCPAtl14d
atc14d
atcViews14d
atcClicks14d
atcr14d
eCPAtc14d
purchases14d
purchasesViews14d
purchasesClicks14d
purchaseRate14d
eCPP14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newToBrandPurchaseRate14d
newToBrandECPP14d
percentOfPurchasesNewToBrand14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
addToWatchlistCVR14d
addToWatchlistCPA14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
downloadedVideoPlayRate14d
eCPDVP14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
videoStreamsRate14d
eCPVS14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
playTrailerRate14d
eCPPT14d
rentals14d
rentalsViews14d
rentalsClicks14d
rentalRate14d
ecpr14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoDownloadRate14d
ecpvd14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
newSubscribeAndSaveRate14d
eCPnewSubscribeAndSave14d
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
totalPixelCVR14d
totalPixelCPA14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
marketingLandingPageCVR14d
marketingLandingPageCPA14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
subscriptionPageCVR14d
subscriptionPageCPA14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
signUpPageCVR14d
signUpPageCPA14d
application14d
applicationViews14d
applicationClicks14d
applicationCVR14d
applicationCPA14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
gameLoadCVR14d
gameLoadCPA14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
widgetLoadCVR14d
widgetLoadCPA14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyStartCVR14d
surveyStartCPA14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
surveyFinishCVR14d
surveyFinishCPA14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
bannerInteractionCVR14d
bannerInteractionCPA14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
widgetInteractionCVR14d
widgetInteractionCPA14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
gameInteractionCVR14d
gameInteractionCPA14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailLoadCVR14d
emailLoadCPA14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
emailInteractionCVR14d
emailInteractionCPA14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
submitButtonCVR14d
submitButtonCPA14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
purchaseButtonCVR14d
purchaseButtonCPA14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
clickOnRedirectCVR14d
clickOnRedirectCPA14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
signUpButtonCVR14d
signUpButtonCPA14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
subscriptionButtonCVR14d
subscriptionButtonCPA14d
successPage14d
successPageViews14d
successPageClicks14d
successPageCVR14d
successPageCPA14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
thankYouPageCVR14d
thankYouPageCPA14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationFormCVR14d
registrationFormCPA14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
registrationConfirmPageCVR14d
registrationConfirmPageCPA14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
storeLocatorPageCVR14d
storeLocatorPageCPA14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
mobileAppFirstStartCVR14d
mobileAppFirstStartsCPA14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement1CVR
brandStoreEngagement1CPA
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement2CVR
brandStoreEngagement2CPA
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement3CVR
brandStoreEngagement3CPA
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement4CVR
brandStoreEngagement4CPA
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement5CVR
brandStoreEngagement5CPA
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement6CVR
brandStoreEngagement6CPA
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
brandStoreEngagement7CVR
brandStoreEngagement7CPA
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
addedToShoppingCartCVR14d
addedToShoppingCartCPA14d
productPurchased
productPurchasedViews
productPurchasedClicks
productPurchasedCVR
productPurchasedCPA
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
homepageVisitCVR14d
homepageVisitCPA14d
videoStarted
videoStartedViews
videoStartedClicks
videoStartedCVR
videoStartedCPA
videoCompleted
videoCompletedViews
videoEndClicks
videoCompletedCVR
videoCompletedCPA
messageSent14d
messageSentViews14d
messageSentClicks14d
messageSentCVR14d
messageSentCPA14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupClickToPageCVR
mashupClickToPageCPA
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupBackupImageCVR
mashupBackupImageCPA
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToCartClickCVR14d
mashupAddToCartCPA14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupAddToWishlistCVR14d
mashupAddToWishlistCPA14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupSubscribeAndSaveCVR14d
mashupSubscribeAndSaveCPA14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupClipCouponClickCVR14d
mashupClipCouponClickCPA14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
mashupShopNowClickCVR14d
mashupShopNowClickCPA14d
referral14d
referralViews14d
referralClicks14d
referralCVR14d
referralCPA14d
accept14d
acceptViews14d
acceptClicks14d
acceptCVR14d
acceptCPA14d
decline14d
declineViews14d
declineClicks14d
declineCVR14d
declineCPA14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoCompletionRate
ecpvc
videoPause
videoResume
videoMute
videoUnmute
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
dropDownSelectionCVR14d
dropDownSelectionCPA14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate

`Campaign Fields`These fields will be added when reportType is Campaign.  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d

`Inventory Fields`These fields will be added when reportType is Inventory  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
placementName
placementSize
dealType

`Audience Fields`These fields will be added when reportType is Audience.  
lineitemtype
segmentClassCode
segmentSource
segmentType
segmentMarketplaceID
targetingMethod

`Product Fields`These fields can be specified when reportType is `PRODUCTS`.  
reportGranularity(Default)
amazonStandardId(Default)
parentASIN(Default)
marketplace(Default)
brandName(Default)
asinConversionType(Default)
featuredASIN(Default)
productName
productGroup
productCategory
productSubcategory
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
percentOfPurchasesNewToBrand14d
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalPercentOfPurchasesNewToBrand14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
unitsSold14d
sales14d
totalUnitsSold14d
totalSales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandHaloDetailPage14d
brandHaloDetailPageViews14d
brandHaloDetailPageClicks14d
brandHaloProductReviewPage14d
brandHaloProductReviewPageViews14d
brandHaloProductReviewPageClicks14d
brandHaloAddToList14d
brandHaloAddToListViews14d
brandHaloAddToListClicks14d
brandHaloAddToCart14d
brandHaloAddToCartViews14d
brandHaloAddToCartClicks14d
brandHaloPurchases14d
brandHaloPurchasesViews14d
brandHaloPurchasesClicks14d
brandHaloNewToBrandPurchases14d
brandHaloNewToBrandPurchasesViews14d
brandHaloNewToBrandPurchasesClicks14d
brandHaloPercentOfPurchasesNewToBrand14d
brandHaloNewSubscribeAndSave14d
brandHaloNewSubscribeAndSaveViews14d
brandHaloNewSubscribeAndSaveClicks14d
brandHaloTotalUnitsSold14d
brandHaloTotalSales14d
brandHaloTotalNewToBrandSales14d
brandHaloTotalNewToBrandUnitsSold14d

`Tech and Geo Fields`These fields can be specified when reportType is `TECHNOLOGY` or `Geography`.  
agencyFee
totalCost
impressions
viewableImpressions
clickThroughs
totalPixel14d
totalPixelViews14d
totalPixelClicks14d
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
subscriptionPage14d
subscriptionPageViews14d
subscriptionPageClicks14d
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
application14d
applicationViews14d
applicationClicks14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
signUpButton14d
signUpButtonViews14d
signUpButtonClicks14d
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
successPage14d
successPageViews14d
successPageClicks14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
productPurchased
productPurchasedViews
productPurchasedClicks
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
videoStarted
videoStartedViews
videoStartedClicks
videoCompleted
videoCompletedViews
videoEndClicks
messageSent14d
messageSentViews14d
messageSentClicks14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
referral14d
referralViews14d
referralClicks14d
accept14d
acceptViews14d
acceptClicks14d
decline14d
declineViews14d
declineClicks14d
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
rentals14d
rentalsViews14d
rentalsClicks14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoPause
videoResume
videoMute
videoUnmute
unitsSold14d
sales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate
* @type {string} * @memberof CreateReportRequestBodyV2 */ @@ -142,7 +142,7 @@ export enum CreateReportRequestBodyV2TimeUnitEnum { */ export interface CreateReportRequestBodyV3 { /** - * List of advertisers specified by identifier to include in the report. This should not be present if accountId is advertiser + * List of advertisers specified by identifier to include in the report. This should not be present if accountId is advertiser. To learn more about when to use advertiserIds, see [Reporting by account type](https://advertising.amazon.com/API/docs/en-us/reporting/dsp/reporting-by-account-type). * @type {Array} * @memberof CreateReportRequestBodyV3 */ @@ -166,7 +166,7 @@ export interface CreateReportRequestBodyV3 { */ orderIds?: Array; /** - * Specify a list of metrics field names to include in the report. For example: [\"impressions\", \"clickThroughs\", \"CTR\", \"eCPC\", \"totalCost\", \"eCPM\"]. If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error.
`Common Fields`These fields will be added when reportType is `CAMPAIGN, INVENTORY, or AUDIENCE`. 
totalCost
supplyCost
amazonAudienceFee
advertiserTimezone
advertiserCountry
amazonPlatformFee
impressions
clickThroughs
CTR
eCPM
eCPC
dpv14d
dpvViews14d
dpvClicks14d
dpvr14d
eCPDPV14d
pRPV14d
pRPVViews14d
pRPVClicks14d
pRPVr14d
eCPPRPV14d
atl14d
atlViews14d
atlClicks14d
atlr14d
eCPAtl14d
atc14d
atcViews14d
atcClicks14d
atcr14d
eCPAtc14d
purchases14d
purchasesViews14d
purchasesClicks14d
purchaseRate14d
eCPP14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newToBrandPurchaseRate14d
newToBrandECPP14d
percentOfPurchasesNewToBrand14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
addToWatchlistCVR14d
addToWatchlistCPA14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
downloadedVideoPlayRate14d
eCPDVP14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
videoStreamsRate14d
eCPVS14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
playTrailerRate14d
eCPPT14d
rentals14d
rentalsViews14d
rentalsClicks14d
rentalRate14d
ecpr14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoDownloadRate14d
ecpvd14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
newSubscribeAndSaveRate14d
eCPnewSubscribeAndSave14d
offAmazonConversions14d (legacy name totalPixel14d)
offAmazonViews14d (legacy name totalPixelViews14d)
offAmazonClicks14d (legacy name totalPixelClicks14d)
offAmazonCVR14d (legacy name totalPixelCVR14d)
offAmazonCPA14d (legacy name totalPixelCPA14d)
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
marketingLandingPageCVR14d
marketingLandingPageCPA14d
subscribe14d (legacy name subscriptionPage14d)
subscribeViews14d (legacy name subscriptionPageViews14d)
subscribeClicks14d (legacy name subscriptionPageClicks14d)
subscribeCVR14d (legacy name subscriptionPageCVR14d)
subscribeCPA14d (legacy name subscriptionPageCPA14d)
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
signUpPageCVR14d
signUpPageCPA14d
application14d
applicationViews14d
applicationClicks14d
applicationCVR14d
applicationCPA14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
gameLoadCVR14d
gameLoadCPA14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
widgetLoadCVR14d
widgetLoadCPA14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyStartCVR14d
surveyStartCPA14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
surveyFinishCVR14d
surveyFinishCPA14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
bannerInteractionCVR14d
bannerInteractionCPA14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
widgetInteractionCVR14d
widgetInteractionCPA14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
gameInteractionCVR14d
gameInteractionCPA14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailLoadCVR14d
emailLoadCPA14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
emailInteractionCVR14d
emailInteractionCPA14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
submitButtonCVR14d
submitButtonCPA14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
purchaseButtonCVR14d
purchaseButtonCPA14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
clickOnRedirectCVR14d
clickOnRedirectCPA14d
signUp14d (legacy name signUpButton14d)
signUpViews14d (legacy name signUpButtonViews14d)
signUpClicks14d (legacy name signUpButtonClicks14d)
signUpCVR14d (legacy name signUpButtonCVR14d)
signUpCPA14d (legacy name signUpButtonCPA14d)
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
subscriptionButtonCVR14d
subscriptionButtonCPA14d
successPage14d
successPageViews14d
successPageClicks14d
successPageCVR14d
successPageCPA14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
thankYouPageCVR14d
thankYouPageCPA14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationFormCVR14d
registrationFormCPA14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
registrationConfirmPageCVR14d
registrationConfirmPageCPA14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
storeLocatorPageCVR14d
storeLocatorPageCPA14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
mobileAppFirstStartCVR14d
mobileAppFirstStartsCPA14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement1CVR
brandStoreEngagement1CPA
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement2CVR
brandStoreEngagement2CPA
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement3CVR
brandStoreEngagement3CPA
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement4CVR
brandStoreEngagement4CPA
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement5CVR
brandStoreEngagement5CPA
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement6CVR
brandStoreEngagement6CPA
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
brandStoreEngagement7CVR
brandStoreEngagement7CPA
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
addedToShoppingCartCVR14d
addedToShoppingCartCPA14d
offAmazonPurchases14d (legacy name productPurchased)
offAmazonPurchasesViews14d (legacy name productPurchasedViews)
offAmazonPurchasesClicks14d (legacy name productPurchasedClicks)
offAmazonPurchaseRate14d (legacy name productPurchasedCVR)
offAmazonECPP14d (legacy name productPurchasedCPA)
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
homepageVisitCVR14d
homepageVisitCPA14d
videoStarted
videoStartedViews
videoStartedClicks
videoStartedCVR
videoStartedCPA
videoCompleted
videoCompletedViews
videoEndClicks
videoCompletedCVR
videoCompletedCPA
messageSent14d
messageSentViews14d
messageSentClicks14d
messageSentCVR14d
messageSentCPA14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupClickToPageCVR
mashupClickToPageCPA
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupBackupImageCVR
mashupBackupImageCPA
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToCartClickCVR14d
mashupAddToCartCPA14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupAddToWishlistCVR14d
mashupAddToWishlistCPA14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupSubscribeAndSaveCVR14d
mashupSubscribeAndSaveCPA14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupClipCouponClickCVR14d
mashupClipCouponClickCPA14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
mashupShopNowClickCVR14d
mashupShopNowClickCPA14d
referral14d
referralViews14d
referralClicks14d
referralCVR14d
referralCPA14d
accept14d
acceptViews14d
acceptClicks14d
acceptCVR14d
acceptCPA14d
decline14d
declineViews14d
declineClicks14d
declineCVR14d
declineCPA14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoCompletionRate
ecpvc
videoPause
videoResume
videoMute
videoUnmute
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
dropDownSelectionCVR14d
dropDownSelectionCPA14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate

`Campaign Fields`These fields will be added when reportType is Campaign.  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
offAmazonProductSales14d
offAmazonUnitsSold14d
offAmazonROAS14d
offAmazonERPM14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedPurchaseRate
combinedECPP
combinedProductSales
combinedUnitsSold
combinedROAS
combinedERPM

`Inventory Fields`These fields will be added when reportType is Inventory  
agencyFee
totalFee
3pFeeAutomotive
3pFeeAutomotiveAbsorbed
3pFeeComScore
3pFeeComScoreAbsorbed
3pFeeCPM1
3pFeeCPM1Absorbed
3pFeeCPM2
3pFeeCPM2Absorbed
3pFeeCPM3
3pFeeCPM3Absorbed
3pFeeDoubleclickCampaignManager
3pFeeDoubleclickCampaignManagerAbsorbed
3pFeeDoubleVerify
3pFeeDoubleVerifyAbsorbed
3pFeeIntegralAdScience
3pFeeIntegralAdScienceAbsorbed
3PFees
unitsSold14d
sales14d
ROAS14d
eRPM14d
newToBrandUnitsSold14d
newToBrandProductSales14d
newToBrandROAS14d
newToBrandERPM14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalPRPVr14d
totalECPPRPV14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalPurchaseRate14d
totalECPP14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalNewToBrandPurchaseRate14d
totalNewToBrandECPP14d
totalPercentOfPurchasesNewToBrand14d
totalUnitsSold14d
totalSales14d
totalROAS14d
totalERPM14d
totalNewToBrandUnitsSold14d
totalNewToBrandProductSales14d
totalNewToBrandROAS14d
totalNewToBrandERPM14d
viewableImpressions
measurableImpressions
measurableRate
viewabilityRate
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalDetailPageViewsCVR14d
totalDetaiPageViewCPA14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToListCVR14d
totalAddToListCPA14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalAddToCartCVR14d
totalAddToCartCPA14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
totalSubscribeAndSaveSubscriptionCVR14d
totalSubscribeAndSaveSubscriptionCPA14d
placementName
placementSize
dealType
offAmazonProductSales14d
offAmazonUnitsSold14d
offAmazonROAS14d
offAmazonERPM14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedPurchaseRate
combinedECPP
combinedProductSales
combinedUnitsSold
combinedROAS
combinedERPM

`Audience Fields`These fields will be added when reportType is Audience.  
lineitemtype
segmentClassCode
segmentSource
segmentType
segmentMarketplaceID
targetingMethod
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedPurchaseRate
combinedECPP

`Product Fields`These fields can be specified when reportType is `PRODUCTS`.  
reportGranularity(Default)
amazonStandardId(Default)
parentASIN(Default)
marketplace(Default)
brandName(Default)
asinConversionType(Default)
featuredASIN(Default)
productName
productGroup
productCategory
productSubcategory
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
percentOfPurchasesNewToBrand14d
totalDetailPageViews14d
totalDetailPageViewViews14d
totalDetailPageClicks14d
totalPRPV14d
totalPRPVViews14d
totalPRPVClicks14d
totalAddToList14d
totalAddToListViews14d
totalAddToListClicks14d
totalAddToCart14d
totalAddToCartViews14d
totalAddToCartClicks14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalNewToBrandPurchases14d
totalNewToBrandPurchasesViews14d
totalNewToBrandPurchasesClicks14d
totalPercentOfPurchasesNewToBrand14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
totalSubscribeAndSaveSubscriptions14d
totalSubscribeAndSaveSubscriptionViews14d
totalSubscribeAndSaveSubscriptionClicks14d
unitsSold14d
sales14d
totalUnitsSold14d
totalSales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandHaloDetailPage14d
brandHaloDetailPageViews14d
brandHaloDetailPageClicks14d
brandHaloProductReviewPage14d
brandHaloProductReviewPageViews14d
brandHaloProductReviewPageClicks14d
brandHaloAddToList14d
brandHaloAddToListViews14d
brandHaloAddToListClicks14d
brandHaloAddToCart14d
brandHaloAddToCartViews14d
brandHaloAddToCartClicks14d
brandHaloPurchases14d
brandHaloPurchasesViews14d
brandHaloPurchasesClicks14d
brandHaloNewToBrandPurchases14d
brandHaloNewToBrandPurchasesViews14d
brandHaloNewToBrandPurchasesClicks14d
brandHaloPercentOfPurchasesNewToBrand14d
brandHaloNewSubscribeAndSave14d
brandHaloNewSubscribeAndSaveViews14d
brandHaloNewSubscribeAndSaveClicks14d
brandHaloTotalUnitsSold14d
brandHaloTotalSales14d
brandHaloTotalNewToBrandSales14d
brandHaloTotalNewToBrandUnitsSold14d

`Tech and Geo Fields`These fields can be specified when reportType is `TECHNOLOGY` or `Geography`.  
agencyFee
totalCost
impressions
viewableImpressions
clickThroughs
offAmazonConversions14d (legacy name totalPixel14d)
offAmazonViews14d (legacy name totalPixelViews14d)
offAmazonClicks14d (legacy name totalPixelClicks14d)
marketingLandingPage14d
marketingLandingPageViews14d
marketingLandingPageClicks14d
subscribe14d (legacy name subscriptionPage14d)
subscribeViews14d (legacy name subscriptionPageViews14d)
subscribeClicks14d (legacy name subscriptionPageClicks14d)
signUpPage14d
signUpPageViews14d
signUpPageClicks14d
application14d
applicationViews14d
applicationClicks14d
gameLoad14d
gameLoadViews14d
gameLoadClicks14d
widgetLoad14d
widgetLoadViews14d
widgetLoadClicks14d
surveyStart14d
surveyStartViews14d
surveyStartClicks14d
surveyFinish14d
surveyFinishViews14d
surveyFinishClicks14d
bannerInteraction14d
bannerInteractionViews14d
bannerInteractionClicks14d
widgetInteraction14d
widgetInteractionViews14d
widgetInteractionClicks14d
gameInteraction14d
gameInteractionViews14d
gameInteractionClicks14d
emailLoad14d
emailLoadViews14d
emailLoadClicks14d
emailInteraction14d
emailInteractionViews14d
emailInteractionClicks14d
submitButton14d
submitButtonViews14d
submitButtonClicks14d
purchaseButton14d
purchaseButtonViews14d
purchaseButtonClicks14d
clickOnRedirect14d
clickOnRedirectViews14d
clickOnRedirectClicks14d
dropDownSelection14d
dropDownSelectionViews14d
dropDownSelectionClicks14d
signUp14d (legacy name signUpButton14d)
signUpViews14d (legacy name signUpButtonViews14d)
signUpClicks14d (legacy name signUpButtonClicks14d)
subscriptionButton14d
subscriptionButtonViews14d
subscriptionButtonClicks14d
successPage14d
successPageViews14d
successPageClicks14d
thankYouPage14d
thankYouPageViews14d
thankYouPageClicks14d
registrationForm14d
registrationFormViews14d
registrationFormClicks14d
registrationConfirmPage14d
registrationConfirmPageViews14d
registrationConfirmPageClicks14d
storeLocatorPage14d
storeLocatorPageViews14d
storeLocatorPageClicks14d
mobileAppFirstStarts14d
mobileAppFirstStartViews14d
mobileAppFirstStartClicks14d
brandStoreEngagement1
brandStoreEngagement1Views
brandStoreEngagement1Clicks
brandStoreEngagement2
brandStoreEngagement2Views
brandStoreEngagement2Clicks
brandStoreEngagement3
brandStoreEngagement3Views
brandStoreEngagement3Clicks
brandStoreEngagement4
brandStoreEngagement4Views
brandStoreEngagement4Clicks
brandStoreEngagement5
brandStoreEngagement5Views
brandStoreEngagement5Clicks
brandStoreEngagement6
brandStoreEngagement6Views
brandStoreEngagement6Clicks
brandStoreEngagement7
brandStoreEngagement7Views
brandStoreEngagement7Clicks
addedToShoppingCart14d
addedToShoppingCartViews14d
addedToShoppingCartClicks14d
offAmazonPurchases14d (legacy name productPurchased)
offAmazonPurchasesViews14d (legacy name productPurchasedViews)
offAmazonPurchasesClicks14d (legacy name productPurchasedClicks)
homepageVisit14d
homepageVisitViews14d
homepageVisitClicks14d
videoStarted
videoStartedViews
videoStartedClicks
videoCompleted
videoCompletedViews
videoEndClicks
messageSent14d
messageSentViews14d
messageSentClicks14d
mashupClickToPage
mashupClickToPageViews
mashupClickToPageClicks
mashupBackupImage
mashupBackupImageViews
mashupBackupImageClicks
mashupAddToCart14d
mashupAddToCartViews14d
mashupAddToCartClicks14d
mashupAddToWishlist14d
mashupAddToWishlistViews14d
mashupAddToWishlistClicks14d
mashupSubscribeAndSave14d
mashupSubscribeAndSaveClickViews14d
mashupSubscribeAndSaveClick14d
mashupClipCouponClick14d
mashupClipCouponClickViews14d
mashupClipCouponClickClicks14d
mashupShopNowClick14d
mashupShopNowClickViews14d
mashupShopNowClickClicks14d
referral14d
referralViews14d
referralClicks14d
accept14d
acceptViews14d
acceptClicks14d
decline14d
declineViews14d
declineClicks14d
dpv14d
dpvViews14d
dpvClicks14d
pRPV14d
pRPVViews14d
pRPVClicks14d
atl14d
atlViews14d
atlClicks14d
atc14d
atcViews14d
atcClicks14d
purchases14d
purchasesViews14d
purchasesClicks14d
newToBrandPurchases14d
newToBrandPurchasesViews14d
newToBrandPurchasesClicks14d
newSubscribeAndSave14d
newSubscribeAndSaveViews14d
newSubscribeAndSaveClicks14d
addToWatchlist14d
addToWatchlistViews14d
addToWatchlistClicks14d
downloadedVideoPlays14d
downloadedVideoPlaysViews14d
downloadedVideoPlaysClicks14d
videoStreams14d
videoStreamsViews14d
videoStreamsClicks14d
playTrailers14d
playTrailersViews14d
playerTrailersClicks14d
rentals14d
rentalsViews14d
rentalsClicks14d
videoDownloads14d
videoDownloadsViews14d
videoDownloadsClicks14d
videoStart
videoFirstQuartile
videoMidpoint
videoThirdQuartile
videoComplete
videoPause
videoResume
videoMute
videoUnmute
unitsSold14d
sales14d
newToBrandUnitsSold14d
newToBrandProductSales14d
brandSearch14d
brandSearchViews14d
brandSearchClicks14d
brandSearchRate14d
brandSearchCPA14d
grossImpressions
grossClickThroughs
invalidImpressions
invalidClickThroughs
invalidImpressionRate
invalidClickThroughsRate
offAmazonProductSales14d
offAmazonUnitsSold14d
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalSales14d
totalUnitsSold14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedProductSales
combinedUnitsSold

`Conversion Source Fields`These fields can be specified when reportType is `Conversion Source Fields`.  
totalPurchases14d
totalPurchasesViews14d
totalPurchasesClicks14d
totalSales14d
totalUnitsSold14d
offAmazonPurchases14d
offAmazonPurchasesViews14d
offAmazonPurchasesClicks14d
offAmazonProductSales14d
offAmazonUnitsSold14d
combinedPurchases
combinedPurchasesViews
combinedPurchasesClicks
combinedProductSales
combinedUnitsSold
+ * Specify a list of metrics field names to include in the report. For example: [\"impressions\", \"clickThroughs\", \"CTR\", \"eCPC\", \"totalCost\", \"eCPM\"]. If no metric field names are specified, only the default fields and selected `DIMENSION` fields are included by default. Specifying default fields returns an error. To view the metrics available by report type, see [DSP report types](https://advertising.amazon.com/API/docs/en-us/reporting/dsp/report-types) * @type {Array} * @memberof CreateReportRequestBodyV3 */ @@ -184,7 +184,7 @@ export interface CreateReportRequestBodyV3 { */ startDate: string; /** - * List of dimensions to include in the report. Specify one or many comma-delimited strings of dimensions. For example: [\"ORDER\", \"LINE_ITEM\", \"CREATIVE\"]. Adding a dimension in this array determines the aggregation level of the report data and also adds the fields for that dimension in the report. If the list is null or empty, the aggregation of the report data is at `ORDER` level. The allowed values can be used together in this array as an allowed value in which case the report aggregation will be at the lowest aggregation level and the report will contain the fields for all the dimensions included in the report.
`Default Fields`
date (for timeUnit `DAILY`)
intervalStart (for timeUnit `SUMMARY`)
intervalEnd (for timeUnit `SUMMARY`)
segment (Only present for AUDIENCE Report)
entityId
advertiserName
advertiserId

The below fields will be added based on selected dimensions  
`ORDER`
orderName
orderId
orderStartDate
orderEndDate
orderBudget
orderExternalId
orderCurrency

`LINE_ITEM`
lineItemName
lineItemId
lineItemStartDate
lineItemEndDate
lineItemBudget
lineItemExternalId

`CREATIVE`
creativeName
creativeID
creativeType
creativeSize
creativeAdId - Note, this field is not returned for the CONVERSION_SOURCE report type.

`SITE`
siteName

`SUPPLY`
supplySourceName

`DEAL`
deal
dealID

`COUNTRY`
country

`STATE_COUNTY_REGION`
region

`CITY`
city

`DMA`
designatedMarketAreaCode
designatedMarketAreaName

`POSTAL_CODE`
postalCode

`OPERATING_SYSTEM`
operatingSystem

`BROWSER_TYPE`
browser

`BROWSER_VERSION`
browserVersion

`DEVICE_TYPE`
device

`ENVIRONMENT_TYPE`
environmentType

`CONVERSION_SOURCE`
conversionSourceName
conversionSourceOwner
conversionSourceAttributionType
conversionSourceScaled
maxExpectedLatencyHours
| Type | Dimension | |------|-----------| | CAMPAIGN | ORDER, LINE_ITEM, CREATIVE | | INVENTORY | ORDER, LINE_ITEM, SITE, SUPPLY, DEAL | | AUDIENCE | ORDER, LINE_ITEM | | PRODUCTS | ORDER, LINE_ITEM | | TECHNOLOGY | ORDER, LINE_ITEM, OPERATING_SYSTEM, BROWSER_TYPE, BROWSER_VERSION, DEVICE_TYPE, ENVIRONMENT_TYPE | | GEOGRAPHY | ORDER, LINE_ITEM, COUNTRY, STATE_COUNTY_REGION, CITY, DMA, POSTAL_CODE | CONVERSION_SOURCE | ORDER, LINE_ITEM, CREATIVE + * List of dimensions to include in the report. Specify one or many comma-delimited strings of dimensions. For example: [\"ORDER\", \"LINE_ITEM\", \"CREATIVE\"]. Adding a dimension in this array determines the aggregation level of the report data and also adds the fields for that dimension in the report. If the list is null or empty, the aggregation of the report data is at `ORDER` level. The allowed values can be used together in this array as an allowed value in which case the report aggregation will be at the lowest aggregation level and the report will contain the fields for all the dimensions included in the report. To see a list of metrics available by dimension, see [Dimensions](https://advertising.amazon.com/API/docs/en-us/reporting/dsp/dimensions). * @type {Array} * @memberof CreateReportRequestBodyV3 */ diff --git a/src/apis/models/dsp.ts b/src/apis/models/dsp.ts index e325628..1dc332b 100644 --- a/src/apis/models/dsp.ts +++ b/src/apis/models/dsp.ts @@ -2,7 +2,7 @@ /* eslint-disable */ /** * Amazon Ads API - Amazon DSP - * Use the Amazon Ads API for DSP for campaign, creative, line item and association operations. For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic.

. + * Use the Amazon Ads API for DSP for campaign, creative, line item and association operations. For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic. * * The version of the OpenAPI document: 3.1 * @@ -289,6 +289,95 @@ export enum AapMobileAppTargetingV31DeviceOrientationTargetingEnum { Landscape = 'LANDSCAPE' } +/** + * + * @export + * @interface AapMobileAppTargetingV32 + */ +export interface AapMobileAppTargetingV32 { + /** + * + * @type {MobileAppThirdPartyPreBidTargetingV32} + * @memberof AapMobileAppTargetingV32 + */ + thirdPartyPreBidTargeting?: MobileAppThirdPartyPreBidTargetingV32; + /** + * + * @type {UserLocationTargetingV3} + * @memberof AapMobileAppTargetingV32 + */ + userLocationTargeting?: UserLocationTargetingV3; + /** + * + * @type {AmazonViewabilityTargeting} + * @memberof AapMobileAppTargetingV32 + */ + amazonViewabilityTargeting?: AmazonViewabilityTargeting; + /** + * + * @type {SupplyTargeting} + * @memberof AapMobileAppTargetingV32 + */ + supplyTargeting?: SupplyTargeting; + /** + * + * @type {GeoLocationTargeting} + * @memberof AapMobileAppTargetingV32 + */ + geoLocationTargeting?: GeoLocationTargeting; + /** + * + * @type {SegmentTargeting} + * @memberof AapMobileAppTargetingV32 + */ + segmentTargeting?: SegmentTargeting; + /** + * + * @type {DayPartTargeting} + * @memberof AapMobileAppTargetingV32 + */ + dayPartTargeting?: DayPartTargeting; + /** + * + * @type {MobileAppTargeting} + * @memberof AapMobileAppTargetingV32 + */ + mobileAppTargeting?: MobileAppTargeting; + /** + * The targeted mobile application device type. Note that this is applicable only for the `AAP_MOBILE APP` type of line item. It is required input for `AAP_MOBILE APP` line item type. + * @type {Array} + * @memberof AapMobileAppTargetingV32 + */ + deviceTypeTargeting?: Array; + /** + * The mobile device orientation targeting type. + * @type {string} + * @memberof AapMobileAppTargetingV32 + */ + deviceOrientationTargeting?: AapMobileAppTargetingV32DeviceOrientationTargetingEnum; +} + +/** + * @export + * @enum {string} + */ +export enum AapMobileAppTargetingV32DeviceTypeTargetingEnum { + Iphone = 'IPHONE', + Ipad = 'IPAD', + Android = 'ANDROID', + KindleFire = 'KINDLE_FIRE', + KindleFireHd = 'KINDLE_FIRE_HD' +} +/** + * @export + * @enum {string} + */ +export enum AapMobileAppTargetingV32DeviceOrientationTargetingEnum { + Any = 'ANY', + Portrait = 'PORTRAIT', + Landscape = 'LANDSCAPE' +} + /** * The service fee associated with an agency. * @export @@ -639,6 +728,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 @@ -653,7 +753,7 @@ export enum BrandSuitabilityRiskLevel { } /** - * The per day or per month spending limit. + * Adding a budget cap can result in under-delivery. * @export * @interface BudgetCap */ @@ -2274,10 +2374,7 @@ export enum DspCreativeApprovalStatusV1 { */ export enum DspCreativeMarketplaceV1 { - Us = 'US', - Ca = 'CA', - Br = 'BR', - Mx = 'MX' + Us = 'US' } /** @@ -4018,6 +4115,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 +4175,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 +4500,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. @@ -5142,6 +5291,37 @@ export interface LineItemTargetingV31 { */ videoTargeting?: VideoTargetingV31; } +/** + * + * @export + * @interface LineItemTargetingV32 + */ +export interface LineItemTargetingV32 { + /** + * + * @type {StandardDisplayTargetingV32} + * @memberof LineItemTargetingV32 + */ + standardDisplayTargeting?: StandardDisplayTargetingV32; + /** + * + * @type {AapMobileAppTargetingV32} + * @memberof LineItemTargetingV32 + */ + aapMobileAppTargeting?: AapMobileAppTargetingV32; + /** + * + * @type {AmazonMobileDisplayTargetingV31} + * @memberof LineItemTargetingV32 + */ + amazonMobileDisplayTargeting?: AmazonMobileDisplayTargetingV31; + /** + * + * @type {VideoTargetingV32} + * @memberof LineItemTargetingV32 + */ + videoTargeting?: VideoTargetingV32; +} /** * The line item type. * @export @@ -5567,6 +5747,139 @@ export interface LineItemV31 { */ lastUpdatedDate?: string; } +/** + * + * @export + * @interface LineItemV32 + */ +export interface LineItemV32 { + /** + * + * @type {LineItemTargetingV32} + * @memberof LineItemV32 + */ + targeting?: LineItemTargetingV32; + /** + * The line item identifier. This is required when we perform update operations. Immutable field. + * @type {string} + * @memberof LineItemV32 + */ + lineItemId?: string; + /** + * + * @type {LineItemTypeV21} + * @memberof LineItemV32 + */ + lineItemType: LineItemTypeV21; + /** + * The line item name. + * @type {string} + * @memberof LineItemV32 + */ + name: string; + /** + * The order to which the line item is associated. Immutable field. + * @type {string} + * @memberof LineItemV32 + */ + orderId: string; + /** + * The external identifier of the line item. + * @type {string} + * @memberof LineItemV32 + */ + externalId?: string; + /** + * The line item start date in ISO date format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-07-16T19:20:30+01:00. + * @type {string} + * @memberof LineItemV32 + */ + startDateTime: string; + /** + * The line item end date in ISO format (YYYY-MM-DDThh:mm:ssTZD). Timezone is UTC. For example, 2020-07-16T19:20:30+01:00 + * @type {string} + * @memberof LineItemV32 + */ + endDateTime: string; + /** + * The line item comments. + * @type {string} + * @memberof LineItemV32 + */ + comments?: string; + /** + * + * @type {DeliveryActivationStatus} + * @memberof LineItemV32 + */ + deliveryActivationStatus?: DeliveryActivationStatus; + /** + * + * @type {LineItemDeliveryStatus} + * @memberof LineItemV32 + */ + deliveryStatus?: LineItemDeliveryStatus; + /** + * + * @type {LineItemClassification} + * @memberof LineItemV32 + */ + lineItemClassification: LineItemClassification; + /** + * + * @type {FrequencyCap} + * @memberof LineItemV32 + */ + frequencyCap: FrequencyCap; + /** + * + * @type {LineItemBudget} + * @memberof LineItemV32 + */ + budget?: LineItemBudget; + /** + * + * @type {CurrencyCodeV3} + * @memberof LineItemV32 + */ + currencyCode?: CurrencyCodeV3; + /** + * + * @type {AppliedFees} + * @memberof LineItemV32 + */ + appliedFees?: AppliedFees; + /** + * + * @type {Bidding} + * @memberof LineItemV32 + */ + bidding: Bidding; + /** + * + * @type {LineItemOptimization} + * @memberof LineItemV32 + */ + optimization: LineItemOptimization; + /** + * + * @type {CreativeOptions} + * @memberof LineItemV32 + */ + creativeOptions?: CreativeOptions; + /** + * The line item creation date. + * @type {string} + * @memberof LineItemV32 + */ + creationDate?: string; + /** + * The line item last updated date. + * @type {string} + * @memberof LineItemV32 + */ + lastUpdatedDate?: string; +} /** * * @export @@ -5767,25 +6080,139 @@ export enum MobileAppDoubleVerifyBrandSafetyAppAgeRatingEnum { } /** - * Integral Ad Science (IAS) is a third party provider in digital ad verification. IAS offers technologies to drive high-quality advertising media. + * * @export - * @interface MobileAppIntegralAdScience + * @interface MobileAppDoubleVerifyBrandSafetyV32 */ -export interface MobileAppIntegralAdScience { +export interface MobileAppDoubleVerifyBrandSafetyV32 { /** - * - * @type {IasFraudInvalidTraffic} - * @memberof MobileAppIntegralAdScience + * A list of content categories to exclude from targeting. EXTREME_GRAPHIC is available since version `application/vnd.dsplineitems.v3.2+json`. + * @type {Array} + * @memberof MobileAppDoubleVerifyBrandSafetyV32 */ - fraudInvalidTraffic?: IasFraudInvalidTraffic; + contentCategories?: Array; /** - * - * @type {IasBrandSafetyV3} - * @memberof MobileAppIntegralAdScience + * A map from content categories to risk level to exclude from targeting. Available keys are: [`ADULT_CONTENT`, `ALCOHOL`, `CRIME`, `DEATH_INJURIES`, `DISASTER_AVIATION`, `DISASTER_MAN_MADE`, `DISASTER_NATURAL`, `DISASTER_TERRORIST_EVENTS`, `DISASTER_VEHICLE`, `HATE_SPEECH`, `PROFANITY`, `SUBSTANCE_ABUSE`, `TOBACCO_ECIGARETTES`, `VIOLENCE_EXTREME_GRAPHIC`]. `DEATH_INJURIES` is available since version `application/vnd.dsplineitems.v3.2+json`. + * @type {{ [key: string]: BrandSuitabilityRiskLevel; }} + * @memberof MobileAppDoubleVerifyBrandSafetyV32 */ - brandSafety?: IasBrandSafetyV3; -} -/** + contentCategoriesWithRisk?: { [key: string]: BrandSuitabilityRiskLevel; }; + /** + * Set to `true` to exclude unknown content. + * @type {boolean} + * @memberof MobileAppDoubleVerifyBrandSafetyV32 + */ + unknownContent?: boolean; + /** + * A list of app age ratings to be used for excluding apps. For example, `TEENS_12_PLUS` will only exclude apps with content rated for everyone ages 12 and over. `UNKNOWN` will exclude apps with content unrated or unknown to Double Verify. + * @type {Array} + * @memberof MobileAppDoubleVerifyBrandSafetyV32 + */ + appAgeRating?: Array; + /** + * + * @type {DvBrandSafetyAppStarRating} + * @memberof MobileAppDoubleVerifyBrandSafetyV32 + */ + appStarRating?: DvBrandSafetyAppStarRating; + /** + * Set to `true` to exclude unofficial apps or apps with insufficient user ratings (<100 lifetime). + * @type {boolean} + * @memberof MobileAppDoubleVerifyBrandSafetyV32 + */ + excludeAppsWithInsufficientRating?: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum MobileAppDoubleVerifyBrandSafetyV32ContentCategoriesEnum { + AdServer = 'AD_SERVER', + CelebrityGossip = 'CELEBRITY_GOSSIP', + CultsSurvivalism = 'CULTS_SURVIVALISM', + Gambling = 'GAMBLING', + IncentivizedMalwareClutter = 'INCENTIVIZED_MALWARE_CLUTTER', + InflammatoryPoliticsNews = 'INFLAMMATORY_POLITICS_NEWS', + NegativeNewsFinancial = 'NEGATIVE_NEWS_FINANCIAL', + NegativeNewsPharmaceutical = 'NEGATIVE_NEWS_PHARMACEUTICAL', + NonStandardContentNonEnglish = 'NON_STANDARD_CONTENT_NON_ENGLISH', + NonStandardContentParkingPage = 'NON_STANDARD_CONTENT_PARKING_PAGE', + Occult = 'OCCULT', + PiracyCopyrightInfringement = 'PIRACY_COPYRIGHT_INFRINGEMENT', + UnmoderatedUgcForumsImagesVideo = 'UNMODERATED_UGC_FORUMS_IMAGES_VIDEO', + ExtremeGraphic = 'EXTREME_GRAPHIC' +} +/** + * @export + * @enum {string} + */ +export enum MobileAppDoubleVerifyBrandSafetyV32AppAgeRatingEnum { + Everyone4Plus = 'EVERYONE_4_PLUS', + Tweens9Plus = 'TWEENS_9_PLUS', + Teens12Plus = 'TEENS_12_PLUS', + Mature17Plus = 'MATURE_17_PLUS', + AdultsOnly18Plus = 'ADULTS_ONLY_18_PLUS', + Unknown = 'UNKNOWN' +} + +/** + * + * @export + * @interface MobileAppDoubleVerifyV32 + */ +export interface MobileAppDoubleVerifyV32 { + /** + * + * @type {MobileAppDoubleVerifyBrandSafetyV32} + * @memberof MobileAppDoubleVerifyV32 + */ + brandSafety?: MobileAppDoubleVerifyBrandSafetyV32; + /** + * + * @type {DoubleVerifyFraudInvalidTraffic} + * @memberof MobileAppDoubleVerifyV32 + */ + fraudInvalidTraffic?: DoubleVerifyFraudInvalidTraffic; + /** + * + * @type {DoubleVerifyAuthenticBrandSafety} + * @memberof MobileAppDoubleVerifyV32 + */ + authenticBrandSafety?: DoubleVerifyAuthenticBrandSafety; + /** + * + * @type {DoubleVerifyViewabilityV21} + * @memberof MobileAppDoubleVerifyV32 + */ + viewability?: DoubleVerifyViewabilityV21; + /** + * The custom segment identifier. + * @type {string} + * @memberof MobileAppDoubleVerifyV32 + */ + customContextualSegmentId?: string; +} +/** + * Integral Ad Science (IAS) is a third party provider in digital ad verification. IAS offers technologies to drive high-quality advertising media. + * @export + * @interface MobileAppIntegralAdScience + */ +export interface MobileAppIntegralAdScience { + /** + * + * @type {IasFraudInvalidTraffic} + * @memberof MobileAppIntegralAdScience + */ + fraudInvalidTraffic?: IasFraudInvalidTraffic; + /** + * + * @type {IasBrandSafetyV3} + * @memberof MobileAppIntegralAdScience + */ + brandSafety?: IasBrandSafetyV3; +} +/** * * @export * @interface MobileAppTargeting @@ -5870,6 +6297,31 @@ export interface MobileAppThirdPartyPreBidTargetingV31 { */ integralAdScience?: MobileAppIntegralAdScience; } +/** + * + * @export + * @interface MobileAppThirdPartyPreBidTargetingV32 + */ +export interface MobileAppThirdPartyPreBidTargetingV32 { + /** + * + * @type {MobileAppDoubleVerifyV32} + * @memberof MobileAppThirdPartyPreBidTargetingV32 + */ + doubleVerify?: MobileAppDoubleVerifyV32; + /** + * + * @type {OracleDataCloudV3} + * @memberof MobileAppThirdPartyPreBidTargetingV32 + */ + oracleDataCloud?: OracleDataCloudV3; + /** + * + * @type {MobileAppIntegralAdScience} + * @memberof MobileAppThirdPartyPreBidTargetingV32 + */ + integralAdScience?: MobileAppIntegralAdScience; +} /** * Double Verify (DV) is a third party provider for digital ad verification. Double Verify offers technologies that drive high-quality advertising media. * @export @@ -6076,6 +6528,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 +7152,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 +7377,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 +7401,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). @@ -6865,118 +7471,221 @@ export enum OrderOptimizationBiddingStrategyEnum { */ export interface OrderResponse { /** - * The order Identifier. - * @type {string} - * @memberof OrderResponse + * The order Identifier. + * @type {string} + * @memberof OrderResponse + */ + orderId?: string; + /** + * + * @type {Error} + * @memberof OrderResponse + */ + errorDetails?: Error; +} +/** + * + * @export + * @interface OrderV22 + */ +export interface OrderV22 { + /** + * + * @type {CurrencyCodeV3} + * @memberof OrderV22 + */ + currencyCode?: CurrencyCodeV3; + /** + * The order identifier. It will be used to perform update operation. Immutable field. + * @type {string} + * @memberof OrderV22 + */ + orderId?: string; + /** + * The advertiser identifier. Immutable field. + * @type {string} + * @memberof OrderV22 + */ + advertiserId: string; + /** + * The order name. + * @type {string} + * @memberof OrderV22 + */ + 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 OrderV22 + */ + externalId?: string; + /** + * The order comments. + * @type {string} + * @memberof OrderV22 + */ + 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 OrderV22 + */ + 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 OrderV22 + */ + endDateTime?: string; + /** + * + * @type {OrderBudget} + * @memberof OrderV22 + */ + budget: OrderBudget; + /** + * + * @type {AgencyFee} + * @memberof OrderV22 + */ + agencyFee?: AgencyFee; + /** + * + * @type {FrequencyCap} + * @memberof OrderV22 */ - orderId?: string; + frequencyCap: FrequencyCap; /** * - * @type {Error} - * @memberof OrderResponse + * @type {OrderOptimization} + * @memberof OrderV22 */ - errorDetails?: Error; -} -/** - * - * @export - * @interface OrderV22 - */ -export interface OrderV22 { + optimization: OrderOptimization; /** * - * @type {CurrencyCodeV3} + * @type {DeliveryActivationStatus} * @memberof OrderV22 */ - currencyCode?: CurrencyCodeV3; + deliveryActivationStatus?: DeliveryActivationStatus; /** - * The order identifier. It will be used to perform update operation. Immutable field. + * + * @type {OrderDeliveryStatus} + * @memberof OrderV22 + */ + 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 OrderV22 + */ + 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 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 OrderV22 + * @memberof OrderV23 */ advertiserId: string; /** * The order name. * @type {string} - * @memberof OrderV22 + * @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 OrderV22 + * @memberof OrderV23 */ externalId?: string; /** * The order comments. * @type {string} - * @memberof OrderV22 + * @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 OrderV22 + * @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 OrderV22 + * @memberof OrderV23 */ endDateTime?: string; /** * * @type {OrderBudget} - * @memberof OrderV22 + * @memberof OrderV23 */ budget: OrderBudget; + /** + * + * @type {CurrencyCodeV3} + * @memberof OrderV23 + */ + currencyCode?: CurrencyCodeV3; /** * * @type {AgencyFee} - * @memberof OrderV22 + * @memberof OrderV23 */ agencyFee?: AgencyFee; /** * * @type {FrequencyCap} - * @memberof OrderV22 + * @memberof OrderV23 */ frequencyCap: FrequencyCap; /** * - * @type {OrderOptimization} - * @memberof OrderV22 + * @type {OrderOptimizationV23} + * @memberof OrderV23 */ - optimization: OrderOptimization; + optimization: OrderOptimizationV23; /** * * @type {DeliveryActivationStatus} - * @memberof OrderV22 + * @memberof OrderV23 */ deliveryActivationStatus?: DeliveryActivationStatus; /** * * @type {OrderDeliveryStatus} - * @memberof OrderV22 + * @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 OrderV22 + * @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 OrderV22 + * @memberof OrderV23 */ lastUpdatedDate?: string; } @@ -7037,6 +7746,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 @@ -7100,13 +7828,13 @@ export interface OttTargeting { */ export interface Pacing { /** - * The type of line item delivery profile. FRONT_LOADED: Initially front-load 20% of the budget. Remaining delivery is spread evenly across the remaining duration of the line item. Note that catchup boosts do not apply to this delivery profile. EVENLY: Distributes the delivery evenly across the duration of the line items. Catchup boosts are enabled for this delivery profile. + * The type of line item delivery profile. FRONT_LOADED: Front loaded can deliver up to 25% more than the daily Even pace targets. EVENLY: Even pacing spends your budget consistently across the length of the campaign. We recommend turning catch up boost off to ensure consistent delivery. * @type {string} * @memberof Pacing */ deliveryProfile: PacingDeliveryProfileEnum; /** - * The catch up boost value associated with the line item. Represents the percentage of additional delivery that can be targeted when the line item is under-pacing. A catchup boost only applies to the EVENLY deliver profile. CatchUpBoost_2X: 200. CatchUpBoost_3X: 300. CatchUpBoost_4X: 400. + * Turning on catch up boost will lead to inconsistent delivery. If you want to avoid delivery spikes, we recommend turning catch up boost off. * @type {string} * @memberof Pacing */ @@ -7274,6 +8002,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 @@ -7473,7 +8212,7 @@ export interface ReadDomainTargetingResponse { */ targetingType?: TargetingType; /** - * The URL address of the domain file after merging all domains into single file, including inheritence from advertiser, domain lists, domain files, domains entered, if any. + * The URL address of the domain file after merging all domains into single file, including inheritance from advertiser, domain lists, domain files, domains entered, if any. * @type {string} * @memberof ReadDomainTargetingResponse */ @@ -7668,6 +8407,90 @@ export enum StandardDisplayDoubleVerifyBrandSafetyContentCategoriesEnum { UnmoderatedUgcForumsImagesVideo = 'UNMODERATED_UGC_FORUMS_IMAGES_VIDEO' } +/** + * + * @export + * @interface StandardDisplayDoubleVerifyBrandSafetyV32 + */ +export interface StandardDisplayDoubleVerifyBrandSafetyV32 { + /** + * A list of content categories to exclude from targeting. EXTREME_GRAPHIC is available since version `application/vnd.dsplineitems.v3.2+json`. + * @type {Array} + * @memberof StandardDisplayDoubleVerifyBrandSafetyV32 + */ + contentCategories?: Array; + /** + * A map from content categories to risk level to exclude from targeting. Available keys are: [`ADULT_CONTENT`, `ALCOHOL`, `CRIME`, `DEATH_INJURIES`, `DISASTER_AVIATION`, `DISASTER_MAN_MADE`, `DISASTER_NATURAL`, `DISASTER_TERRORIST_EVENTS`, `DISASTER_VEHICLE`, `HATE_SPEECH`, `PROFANITY`, `SUBSTANCE_ABUSE`, `TOBACCO_ECIGARETTES`, `VIOLENCE_EXTREME_GRAPHIC`]. `DEATH_INJURIES` is available since version `application/vnd.dsplineitems.v3.2+json`. + * @type {{ [key: string]: BrandSuitabilityRiskLevel; }} + * @memberof StandardDisplayDoubleVerifyBrandSafetyV32 + */ + contentCategoriesWithRisk?: { [key: string]: BrandSuitabilityRiskLevel; }; + /** + * Set to `true` to exclude unknown content. + * @type {boolean} + * @memberof StandardDisplayDoubleVerifyBrandSafetyV32 + */ + unknownContent?: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum StandardDisplayDoubleVerifyBrandSafetyV32ContentCategoriesEnum { + AdServer = 'AD_SERVER', + CelebrityGossip = 'CELEBRITY_GOSSIP', + CultsSurvivalism = 'CULTS_SURVIVALISM', + Gambling = 'GAMBLING', + IncentivizedMalwareClutter = 'INCENTIVIZED_MALWARE_CLUTTER', + InflammatoryPoliticsNews = 'INFLAMMATORY_POLITICS_NEWS', + NegativeNewsFinancial = 'NEGATIVE_NEWS_FINANCIAL', + NegativeNewsPharmaceutical = 'NEGATIVE_NEWS_PHARMACEUTICAL', + NonStandardContentNonEnglish = 'NON_STANDARD_CONTENT_NON_ENGLISH', + NonStandardContentParkingPage = 'NON_STANDARD_CONTENT_PARKING_PAGE', + Occult = 'OCCULT', + PiracyCopyrightInfringement = 'PIRACY_COPYRIGHT_INFRINGEMENT', + UnmoderatedUgcForumsImagesVideo = 'UNMODERATED_UGC_FORUMS_IMAGES_VIDEO', + ExtremeGraphic = 'EXTREME_GRAPHIC' +} + +/** + * + * @export + * @interface StandardDisplayDoubleVerifyV32 + */ +export interface StandardDisplayDoubleVerifyV32 { + /** + * + * @type {StandardDisplayDoubleVerifyBrandSafetyV32} + * @memberof StandardDisplayDoubleVerifyV32 + */ + brandSafety?: StandardDisplayDoubleVerifyBrandSafetyV32; + /** + * + * @type {DoubleVerifyFraudInvalidTraffic} + * @memberof StandardDisplayDoubleVerifyV32 + */ + fraudInvalidTraffic?: DoubleVerifyFraudInvalidTraffic; + /** + * + * @type {DoubleVerifyAuthenticBrandSafety} + * @memberof StandardDisplayDoubleVerifyV32 + */ + authenticBrandSafety?: DoubleVerifyAuthenticBrandSafety; + /** + * + * @type {DoubleVerifyViewabilityV21} + * @memberof StandardDisplayDoubleVerifyV32 + */ + viewability?: DoubleVerifyViewabilityV21; + /** + * The custom segment identifier. + * @type {string} + * @memberof StandardDisplayDoubleVerifyV32 + */ + customContextualSegmentId?: string; +} /** * Integral Ad Science (IAS) is a third party provider in digital ad verification. IAS offers technologies to drive high-quality advertising media. * @export @@ -7981,6 +8804,102 @@ export enum StandardDisplayTargetingV31DeviceTypeTargetingEnum { Desktop = 'DESKTOP' } +/** + * + * @export + * @interface StandardDisplayTargetingV32 + */ +export interface StandardDisplayTargetingV32 { + /** + * + * @type {StandardDisplayThirdPartyPreBidTargetingV32} + * @memberof StandardDisplayTargetingV32 + */ + thirdPartyPreBidTargeting?: StandardDisplayThirdPartyPreBidTargetingV32; + /** + * + * @type {UserLocationTargetingV3} + * @memberof StandardDisplayTargetingV32 + */ + userLocationTargeting?: UserLocationTargetingV3; + /** + * + * @type {AmazonViewabilityTargeting} + * @memberof StandardDisplayTargetingV32 + */ + amazonViewabilityTargeting?: AmazonViewabilityTargeting; + /** + * + * @type {SupplyTargeting} + * @memberof StandardDisplayTargetingV32 + */ + supplyTargeting?: SupplyTargeting; + /** + * + * @type {GeoLocationTargeting} + * @memberof StandardDisplayTargetingV32 + */ + geoLocationTargeting?: GeoLocationTargeting; + /** + * + * @type {SegmentTargeting} + * @memberof StandardDisplayTargetingV32 + */ + segmentTargeting?: SegmentTargeting; + /** + * + * @type {DayPartTargeting} + * @memberof StandardDisplayTargetingV32 + */ + dayPartTargeting?: DayPartTargeting; + /** + * + * @type {DomainList} + * @memberof StandardDisplayTargetingV32 + */ + domainListTargeting?: DomainList; + /** + * The targeted device type for standard display line item type. It is required input for `STANDARD_DISPLAY` line item type. + * @type {string} + * @memberof StandardDisplayTargetingV32 + */ + deviceTypeTargeting?: StandardDisplayTargetingV32DeviceTypeTargetingEnum; + /** + * + * @type {MobileOsTargeting} + * @memberof StandardDisplayTargetingV32 + */ + mobileOsTargeting?: MobileOsTargeting; + /** + * + * @type {SiteLanguageTargetingV3} + * @memberof StandardDisplayTargetingV32 + */ + siteLanguageTargeting?: SiteLanguageTargetingV3; + /** + * The IAB content category type. IAB content categories enable advertisers to target websites according to their subject matter by scanning their content. This helps deliver ads to relevant sites while ensuring that the ads are not displayed near undesirable content. + * @type {Array} + * @memberof StandardDisplayTargetingV32 + */ + contentTargeting?: Array; + /** + * Set to `true` to enable contextual targeting. Contextual targeting targets the detail page of products that are frequently viewed or purchased with the products in your ad. Note that this feature applies to Dynamic eCommerce ads only. + * @type {boolean} + * @memberof StandardDisplayTargetingV32 + */ + contextualTargeting?: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum StandardDisplayTargetingV32DeviceTypeTargetingEnum { + DesktopAndMobile = 'DESKTOP_AND_MOBILE', + Mobile = 'MOBILE', + Desktop = 'DESKTOP' +} + /** * Amazon DSP automatically filters fraudulent and invalid traffic as well as unsafe content using a combination of proprietary technology and solutions from comScore and Sizmek. This service is available by default and at no extra charge for Amazon DSP customers. You may choose to augment the default filters with pre-bid targeting products offered by third parties. These services are currently offered at no charge. * @export @@ -8029,11 +8948,36 @@ export interface StandardDisplayThirdPartyPreBidTargetingV31 { * @type {StandardDisplayDoubleVerify} * @memberof StandardDisplayThirdPartyPreBidTargetingV31 */ - doubleVerify?: StandardDisplayDoubleVerify; + doubleVerify?: StandardDisplayDoubleVerify; + /** + * + * @type {StandardDisplayIntegralAdScience} + * @memberof StandardDisplayThirdPartyPreBidTargetingV31 + */ + integralAdScience?: StandardDisplayIntegralAdScience; +} +/** + * + * @export + * @interface StandardDisplayThirdPartyPreBidTargetingV32 + */ +export interface StandardDisplayThirdPartyPreBidTargetingV32 { + /** + * + * @type {StandardDisplayDoubleVerifyV32} + * @memberof StandardDisplayThirdPartyPreBidTargetingV32 + */ + doubleVerify?: StandardDisplayDoubleVerifyV32; + /** + * + * @type {OracleDataCloudV3} + * @memberof StandardDisplayThirdPartyPreBidTargetingV32 + */ + oracleDataCloud?: OracleDataCloudV3; /** * * @type {StandardDisplayIntegralAdScience} - * @memberof StandardDisplayThirdPartyPreBidTargetingV31 + * @memberof StandardDisplayThirdPartyPreBidTargetingV32 */ integralAdScience?: StandardDisplayIntegralAdScience; } @@ -8568,6 +9512,120 @@ export enum VideoDoubleVerifyBrandSafetyAppAgeRatingEnum { Unknown = 'UNKNOWN' } +/** + * + * @export + * @interface VideoDoubleVerifyBrandSafetyV32 + */ +export interface VideoDoubleVerifyBrandSafetyV32 { + /** + * A list of content categories to exclude from targeting. EXTREME_GRAPHIC is available since version `application/vnd.dsplineitems.v3.2+json`. + * @type {Array} + * @memberof VideoDoubleVerifyBrandSafetyV32 + */ + contentCategories?: Array; + /** + * A map from content categories to risk level to exclude from targeting. Available keys are: [`ADULT_CONTENT`, `ALCOHOL`, `CRIME`, `DEATH_INJURIES`, `DISASTER_AVIATION`, `DISASTER_MAN_MADE`, `DISASTER_NATURAL`, `DISASTER_TERRORIST_EVENTS`, `DISASTER_VEHICLE`, `HATE_SPEECH`, `PROFANITY`, `SUBSTANCE_ABUSE`, `TOBACCO_ECIGARETTES`, `VIOLENCE_EXTREME_GRAPHIC`]. `DEATH_INJURIES` is available since version `application/vnd.dsplineitems.v3.2+json`. + * @type {{ [key: string]: BrandSuitabilityRiskLevel; }} + * @memberof VideoDoubleVerifyBrandSafetyV32 + */ + contentCategoriesWithRisk?: { [key: string]: BrandSuitabilityRiskLevel; }; + /** + * Set to `true` to exclude unknown content. + * @type {boolean} + * @memberof VideoDoubleVerifyBrandSafetyV32 + */ + unknownContent?: boolean; + /** + * A list of app age ratings to be used for excluding apps. For example, `TEENS_12_PLUS` will only exclude apps with content rated for everyone ages 12 and over. `UNKNOWN` will exclude apps with content unrated or unknown to Double Verify. + * @type {Array} + * @memberof VideoDoubleVerifyBrandSafetyV32 + */ + appAgeRating?: Array; + /** + * + * @type {DvBrandSafetyAppStarRating} + * @memberof VideoDoubleVerifyBrandSafetyV32 + */ + appStarRating?: DvBrandSafetyAppStarRating; + /** + * Set to `true` to exclude unofficial apps or apps with insufficient user ratings (<100 lifetime). + * @type {boolean} + * @memberof VideoDoubleVerifyBrandSafetyV32 + */ + excludeAppsWithInsufficientRating?: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum VideoDoubleVerifyBrandSafetyV32ContentCategoriesEnum { + AdServer = 'AD_SERVER', + CelebrityGossip = 'CELEBRITY_GOSSIP', + CultsSurvivalism = 'CULTS_SURVIVALISM', + Gambling = 'GAMBLING', + IncentivizedMalwareClutter = 'INCENTIVIZED_MALWARE_CLUTTER', + InflammatoryPoliticsNews = 'INFLAMMATORY_POLITICS_NEWS', + NegativeNewsFinancial = 'NEGATIVE_NEWS_FINANCIAL', + NegativeNewsPharmaceutical = 'NEGATIVE_NEWS_PHARMACEUTICAL', + NonStandardContentNonEnglish = 'NON_STANDARD_CONTENT_NON_ENGLISH', + NonStandardContentParkingPage = 'NON_STANDARD_CONTENT_PARKING_PAGE', + Occult = 'OCCULT', + PiracyCopyrightInfringement = 'PIRACY_COPYRIGHT_INFRINGEMENT', + UnmoderatedUgcForumsImagesVideo = 'UNMODERATED_UGC_FORUMS_IMAGES_VIDEO', + ExtremeGraphic = 'EXTREME_GRAPHIC' +} +/** + * @export + * @enum {string} + */ +export enum VideoDoubleVerifyBrandSafetyV32AppAgeRatingEnum { + Everyone4Plus = 'EVERYONE_4_PLUS', + Tweens9Plus = 'TWEENS_9_PLUS', + Teens12Plus = 'TEENS_12_PLUS', + Mature17Plus = 'MATURE_17_PLUS', + AdultsOnly18Plus = 'ADULTS_ONLY_18_PLUS', + Unknown = 'UNKNOWN' +} + +/** + * + * @export + * @interface VideoDoubleVerifyV32 + */ +export interface VideoDoubleVerifyV32 { + /** + * + * @type {VideoDoubleVerifyBrandSafetyV32} + * @memberof VideoDoubleVerifyV32 + */ + brandSafety?: VideoDoubleVerifyBrandSafetyV32; + /** + * + * @type {DoubleVerifyFraudInvalidTraffic} + * @memberof VideoDoubleVerifyV32 + */ + fraudInvalidTraffic?: DoubleVerifyFraudInvalidTraffic; + /** + * + * @type {DoubleVerifyAuthenticBrandSafety} + * @memberof VideoDoubleVerifyV32 + */ + authenticBrandSafety?: DoubleVerifyAuthenticBrandSafety; + /** + * + * @type {DoubleVerifyViewabilityV21} + * @memberof VideoDoubleVerifyV32 + */ + viewability?: DoubleVerifyViewabilityV21; + /** + * The custom segment identifier. + * @type {string} + * @memberof VideoDoubleVerifyV32 + */ + customContextualSegmentId?: string; +} /** * Integral Ad Science (IAS) is a third party provider in digital ad verification. IAS offers technologies to drive high-quality advertising media. * @export @@ -9133,6 +10191,186 @@ export enum VideoTargetingV31VideoCompletionTargetingEnum { VideoCompletionGte90 = 'VIDEO_COMPLETION_GTE_90' } +/** + * + * @export + * @interface VideoTargetingV32 + */ +export interface VideoTargetingV32 { + /** + * + * @type {VideoThirdPartyPreBidTargetingV32} + * @memberof VideoTargetingV32 + */ + thirdPartyPreBidTargeting?: VideoThirdPartyPreBidTargetingV32; + /** + * + * @type {UserLocationTargetingV3} + * @memberof VideoTargetingV32 + */ + userLocationTargeting?: UserLocationTargetingV3; + /** + * + * @type {AmazonViewabilityTargeting} + * @memberof VideoTargetingV32 + */ + amazonViewabilityTargeting?: AmazonViewabilityTargeting; + /** + * + * @type {SupplyTargeting} + * @memberof VideoTargetingV32 + */ + supplyTargeting?: SupplyTargeting; + /** + * + * @type {GeoLocationTargeting} + * @memberof VideoTargetingV32 + */ + geoLocationTargeting?: GeoLocationTargeting; + /** + * + * @type {SegmentTargeting} + * @memberof VideoTargetingV32 + */ + segmentTargeting?: SegmentTargeting; + /** + * + * @type {DayPartTargeting} + * @memberof VideoTargetingV32 + */ + dayPartTargeting?: DayPartTargeting; + /** + * + * @type {DomainList} + * @memberof VideoTargetingV32 + */ + domainListTargeting?: DomainList; + /** + * The targeted device type for video line item type. A list of device types can be provided. + * @type {Array} + * @memberof VideoTargetingV32 + */ + deviceTypeTargeting?: Array; + /** + * The targeted mobile environment for video line item type. It is required only when `MOBILE` device type is selected. + * @type {Array} + * @memberof VideoTargetingV32 + */ + mobileEnvironmentTargeting?: Array; + /** + * + * @type {SiteLanguageTargetingV3} + * @memberof VideoTargetingV32 + */ + siteLanguageTargeting?: SiteLanguageTargetingV3; + /** + * The IAB content category type. IAB content categories enable advertisers to target websites according to their subject matter by scanning their content. This helps deliver ads to relevant sites while ensuring that the ads are not displayed near undesirable content. + * @type {Array} + * @memberof VideoTargetingV32 + */ + contentTargeting?: Array; + /** + * Target video inventory by how the video will be started. A list can be provided. If ANY is selected, no other type can be provided. + * @type {Array} + * @memberof VideoTargetingV32 + */ + videoInitiationTypeTargeting?: Array; + /** + * Target a specific type of ad slot used to serve the video. A list can be provided. + * @type {Array} + * @memberof VideoTargetingV32 + */ + videoAdFormatTargeting?: Array; + /** + * Limit IN STREAM ad slot to full episode players (FEP). + * @type {boolean} + * @memberof VideoTargetingV32 + */ + limitToFepTargeting?: boolean; + /** + * Target video inventory by publisher’s player size. A list can be provided. + * @type {Array} + * @memberof VideoTargetingV32 + */ + videoPlayerSizeTargeting?: Array; + /** + * These are predictions based on machine learning and aren’t guaranteed. Selecting a higher percentage limits overall reach. + * @type {string} + * @memberof VideoTargetingV32 + */ + videoCompletionTargeting?: VideoTargetingV32VideoCompletionTargetingEnum; + /** + * + * @type {OttTargeting} + * @memberof VideoTargetingV32 + */ + ottTargeting?: OttTargeting; +} + +/** + * @export + * @enum {string} + */ +export enum VideoTargetingV32DeviceTypeTargetingEnum { + Mobile = 'MOBILE', + Desktop = 'DESKTOP', + ConnectedTv = 'CONNECTED_TV' +} +/** + * @export + * @enum {string} + */ +export enum VideoTargetingV32MobileEnvironmentTargetingEnum { + Web = 'WEB', + App = 'APP' +} +/** + * @export + * @enum {string} + */ +export enum VideoTargetingV32VideoInitiationTypeTargetingEnum { + Any = 'ANY', + UserInitiatedOnly = 'USER_INITIATED_ONLY', + AutoplayOnly = 'AUTOPLAY_ONLY', + Unknown = 'UNKNOWN' +} +/** + * @export + * @enum {string} + */ +export enum VideoTargetingV32VideoAdFormatTargetingEnum { + InStream = 'IN_STREAM', + OutStream = 'OUT_STREAM', + InStreamAndOutStream = 'IN_STREAM_AND_OUT_STREAM' +} +/** + * @export + * @enum {string} + */ +export enum VideoTargetingV32VideoPlayerSizeTargetingEnum { + Any = 'ANY', + Small = 'SMALL', + Medium = 'MEDIUM', + Large = 'LARGE', + Unknown = 'UNKNOWN' +} +/** + * @export + * @enum {string} + */ +export enum VideoTargetingV32VideoCompletionTargetingEnum { + NoTargeting = 'NO_TARGETING', + VideoCompletionGte10 = 'VIDEO_COMPLETION_GTE_10', + VideoCompletionGte20 = 'VIDEO_COMPLETION_GTE_20', + VideoCompletionGte30 = 'VIDEO_COMPLETION_GTE_30', + VideoCompletionGte40 = 'VIDEO_COMPLETION_GTE_40', + VideoCompletionGte50 = 'VIDEO_COMPLETION_GTE_50', + VideoCompletionGte60 = 'VIDEO_COMPLETION_GTE_60', + VideoCompletionGte70 = 'VIDEO_COMPLETION_GTE_70', + VideoCompletionGte80 = 'VIDEO_COMPLETION_GTE_80', + VideoCompletionGte90 = 'VIDEO_COMPLETION_GTE_90' +} + /** * Amazon DSP automatically filters fraudulent and invalid traffic as well as unsafe content using a combination of proprietary technology and solutions from comScore and Sizmek. This service is available by default and at no extra charge for Amazon DSP customers. You may choose to augment the default filters with pre-bid targeting products offered by third parties. These services are currently offered at no charge. * @export @@ -9189,6 +10427,31 @@ export interface VideoThirdPartyPreBidTargetingV31 { */ integralAdScience?: VideoIntegralAdScience; } +/** + * + * @export + * @interface VideoThirdPartyPreBidTargetingV32 + */ +export interface VideoThirdPartyPreBidTargetingV32 { + /** + * + * @type {VideoDoubleVerifyV32} + * @memberof VideoThirdPartyPreBidTargetingV32 + */ + doubleVerify?: VideoDoubleVerifyV32; + /** + * + * @type {OracleDataCloudV3} + * @memberof VideoThirdPartyPreBidTargetingV32 + */ + oracleDataCloud?: OracleDataCloudV3; + /** + * + * @type {VideoIntegralAdScience} + * @memberof VideoThirdPartyPreBidTargetingV32 + */ + integralAdScience?: VideoIntegralAdScience; +} /** * The type of viewability tier. * @export @@ -11948,11 +13211,11 @@ export const LineItemApiAxiosParamCreator = function (configuration?: Configurat * @summary Create line item. * @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} [lineItemV31] An array of lineitem objects. For each object, specify required fields and their values. Maximum length of the array is 1. + * @param {Array} [lineItemV32] An array of lineitem 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} */ - createLineItems: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV31?: Array, options: any = {}): Promise => { + createLineItems: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV32?: Array, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('createLineItems', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined @@ -11979,12 +13242,12 @@ export const LineItemApiAxiosParamCreator = function (configuration?: Configurat - localVarHeaderParameter['Content-Type'] = 'application/vnd.dsplineitems.v3.1+json'; + localVarHeaderParameter['Content-Type'] = 'application/vnd.dsplineitems.v3.2+json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(lineItemV31, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(lineItemV32, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -12168,11 +13431,11 @@ export const LineItemApiAxiosParamCreator = function (configuration?: Configurat * @summary Update line item. * @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} [lineItemV31] An array of line item objects. For each object, specify required fields and their values. Maximum length of the array is 1. + * @param {Array} [lineItemV32] An array of line item 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} */ - updateLineItems: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV31?: Array, options: any = {}): Promise => { + updateLineItems: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV32?: Array, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('updateLineItems', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined @@ -12199,12 +13462,12 @@ export const LineItemApiAxiosParamCreator = function (configuration?: Configurat - localVarHeaderParameter['Content-Type'] = 'application/vnd.dsplineitems.v3.1+json'; + localVarHeaderParameter['Content-Type'] = 'application/vnd.dsplineitems.v3.2+json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(lineItemV31, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(lineItemV32, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -12226,12 +13489,12 @@ export const LineItemApiFp = function(configuration?: Configuration) { * @summary Create line item. * @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} [lineItemV31] An array of lineitem objects. For each object, specify required fields and their values. Maximum length of the array is 1. + * @param {Array} [lineItemV32] An array of lineitem 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 createLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV31?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV31, options); + async createLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV32?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV32, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -12243,7 +13506,7 @@ export const LineItemApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getLineItem(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + async getLineItem(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getLineItem(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemId, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, @@ -12283,12 +13546,12 @@ export const LineItemApiFp = function(configuration?: Configuration) { * @summary Update line item. * @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} [lineItemV31] An array of line item objects. For each object, specify required fields and their values. Maximum length of the array is 1. + * @param {Array} [lineItemV32] An array of line item 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 updateLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV31?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV31, options); + async updateLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV32?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV32, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } @@ -12306,12 +13569,12 @@ export const LineItemApiFactory = function (configuration?: Configuration, baseP * @summary Create line item. * @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} [lineItemV31] An array of lineitem objects. For each object, specify required fields and their values. Maximum length of the array is 1. + * @param {Array} [lineItemV32] An array of lineitem 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} */ - createLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV31?: Array, options?: any): AxiosPromise> { - return localVarFp.createLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV31, options).then((request) => request(axios, basePath)); + createLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV32?: Array, options?: any): AxiosPromise> { + return localVarFp.createLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV32, options).then((request) => request(axios, basePath)); }, /** * Gets line item specified by identifier. @@ -12322,7 +13585,7 @@ export const LineItemApiFactory = function (configuration?: Configuration, baseP * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getLineItem(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemId: string, options?: any): AxiosPromise { + getLineItem(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemId: string, options?: any): AxiosPromise { return localVarFp.getLineItem(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemId, options).then((request) => request(axios, basePath)); }, /** @@ -12359,12 +13622,12 @@ export const LineItemApiFactory = function (configuration?: Configuration, baseP * @summary Update line item. * @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} [lineItemV31] An array of line item objects. For each object, specify required fields and their values. Maximum length of the array is 1. + * @param {Array} [lineItemV32] An array of line item 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} */ - updateLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV31?: Array, options?: any): AxiosPromise> { - return localVarFp.updateLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV31, options).then((request) => request(axios, basePath)); + updateLineItems(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, lineItemV32?: Array, options?: any): AxiosPromise> { + return localVarFp.updateLineItems(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, lineItemV32, options).then((request) => request(axios, basePath)); }, }; }; @@ -12391,10 +13654,10 @@ export interface LineItemApiCreateLineItemsRequest { /** * An array of lineitem objects. For each object, specify required fields and their values. Maximum length of the array is 1. - * @type {Array} + * @type {Array} * @memberof LineItemApiCreateLineItems */ - readonly lineItemV31?: Array + readonly lineItemV32?: Array } /** @@ -12538,10 +13801,10 @@ export interface LineItemApiUpdateLineItemsRequest { /** * An array of line item objects. For each object, specify required fields and their values. Maximum length of the array is 1. - * @type {Array} + * @type {Array} * @memberof LineItemApiUpdateLineItems */ - readonly lineItemV31?: Array + readonly lineItemV32?: Array } /** @@ -12560,7 +13823,7 @@ export class LineItemApi extends BaseAPI { * @memberof LineItemApi */ public createLineItems(requestParameters: LineItemApiCreateLineItemsRequest, options?: any) { - return LineItemApiFp(this.configuration).createLineItems(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.lineItemV31, options).then((request) => request(this.axios, this.basePath)); + return LineItemApiFp(this.configuration).createLineItems(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.lineItemV32, options).then((request) => request(this.axios, this.basePath)); } /** @@ -12608,7 +13871,7 @@ export class LineItemApi extends BaseAPI { * @memberof LineItemApi */ public updateLineItems(requestParameters: LineItemApiUpdateLineItemsRequest, options?: any) { - return LineItemApiFp(this.configuration).updateLineItems(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.lineItemV31, options).then((request) => request(this.axios, this.basePath)); + return LineItemApiFp(this.configuration).updateLineItems(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.lineItemV32, options).then((request) => request(this.axios, this.basePath)); } } @@ -13186,11 +14449,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 +14480,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 +14965,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 +14996,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 +15075,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 +15132,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 +15149,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 +15212,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 +15249,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 +15302,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 +15318,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 +15376,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 +15421,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 +15750,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 +15807,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 +15927,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)); } /** @@ -15194,7 +16457,7 @@ export const ThirdPartyCreativeApiAxiosParamCreator = function (configuration?: assertParamExists('createThirdPartyCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('createThirdPartyCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/dsp/creatives/thirdParty`; + const localVarPath = `/dsp/creatives/thirdparty`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -15244,7 +16507,7 @@ export const ThirdPartyCreativeApiAxiosParamCreator = function (configuration?: assertParamExists('getThirdPartyCreatives', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'creativeIdFilter' is not null or undefined assertParamExists('getThirdPartyCreatives', 'creativeIdFilter', creativeIdFilter) - const localVarPath = `/dsp/creatives/thirdParty`; + const localVarPath = `/dsp/creatives/thirdparty`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -15293,7 +16556,7 @@ export const ThirdPartyCreativeApiAxiosParamCreator = function (configuration?: assertParamExists('previewThirdPartyCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('previewThirdPartyCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/dsp/creatives/thirdParty/preview`; + const localVarPath = `/dsp/creatives/thirdparty/preview`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -15341,7 +16604,7 @@ export const ThirdPartyCreativeApiAxiosParamCreator = function (configuration?: assertParamExists('updateThirdPartyCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('updateThirdPartyCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/dsp/creatives/thirdParty`; + const localVarPath = `/dsp/creatives/thirdparty`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; diff --git a/src/apis/models/sponsored-brands-extra.ts b/src/apis/models/sponsored-brands-extra.ts index 03a604b..d45f192 100644 --- a/src/apis/models/sponsored-brands-extra.ts +++ b/src/apis/models/sponsored-brands-extra.ts @@ -29,7 +29,9 @@ import { createRequestFunction } from "../../helpers"; */ export enum AcceptHeader { - ApplicationVndSbAdCreativeResourceV4json = 'application/vnd.sbAdCreativeResource.v4+json' + SbAdCreativeResourceV4json = 'application/vnd.sbAdCreativeResource.v4+json', + SbCreativeImageRecommendationResourceV4json = 'application/vnd.sbCreativeImageRecommendationResource.v4+json', + SbCreativeRecommendationResourceV4json = 'application/vnd.sbCreativeRecommendationResource.v4+json' } /** @@ -42,6 +44,31 @@ export enum AccessDeniedErrorCode { AccessDenied = 'ACCESS_DENIED' } +/** + * + * @export + * @interface AccessDeniedErrorResponseContent + */ +export interface AccessDeniedErrorResponseContent { + /** + * + * @type {AccessDeniedErrorCode} + * @memberof AccessDeniedErrorResponseContent + */ + code: AccessDeniedErrorCode; + /** + * + * @type {string} + * @memberof AccessDeniedErrorResponseContent + */ + requestId: string; + /** + * + * @type {string} + * @memberof AccessDeniedErrorResponseContent + */ + message: string; +} /** * * @export @@ -68,11 +95,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 +113,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} @@ -134,6 +161,12 @@ export interface AdExtendedData { * @memberof AdExtendedData */ lastUpdateDate?: number; + /** + * The serving status reasons of the Ad. + * @type {Array} + * @memberof AdExtendedData + */ + servingStatusDetails?: Array; /** * Creation date in epoch time. * @type {number} @@ -215,6 +248,12 @@ export interface AdGroupExtendedData { * @memberof AdGroupExtendedData */ lastUpdateDate?: number; + /** + * The serving status reasons of the Ad Group. + * @type {Array} + * @memberof AdGroupExtendedData + */ + servingStatusDetails?: Array; /** * Creation date in epoch time. * @type {number} @@ -459,10 +498,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} @@ -634,6 +673,19 @@ export interface AssetCrop { */ height?: number; } +/** + * Asset subtype from Asset Library which you are looking to get recommendations for. Asset Library documentation can be found here: https://advertising.amazon.com/API/docs/en-us/creative-asset-library + * @export + * @enum {string} + */ + +export enum AssetSubType { + CustomImage = 'CUSTOM_IMAGE', + Logo = 'LOGO', + ProductImage = 'PRODUCT_IMAGE', + AuthorImage = 'AUTHOR_IMAGE' +} + /** * * @export @@ -684,25 +736,6 @@ export interface AssociatedCampaign { */ campaignName: string; } -/** - * Bid adjustment settings for desired placement or shopper segment. - * @export - * @interface BidAdjustment - */ -export interface BidAdjustment { - /** - * Bid adjustment for placement groups and shopper segments. Value is a percentage to two decimal places. For bid adjustments in placement groups, min is -99.00 and max is 900.00. For bid adjustments in shopper segments, min is 0.00 and max is 900.00. For example: If -40.00 is set for a $5.00 bid, the resulting bid is $3.00. - * @type {number} - * @memberof BidAdjustment - */ - bidAdjustmentPercent?: number; - /** - * - * @type {BidAdjustmentPredicate} - * @memberof BidAdjustment - */ - bidAdjustmentPredicate?: BidAdjustmentPredicate; -} /** * * @export @@ -741,20 +774,6 @@ export interface BidAdjustmentByShopperSegment { */ shopperSegment?: ShopperSegment; } -/** - * Desired placement or shopper segment where bid adjustment will be applied. - * @export - * @enum {string} - */ - -export enum BidAdjustmentPredicate { - PlacementGroupTop = 'PLACEMENT_GROUP_TOP', - PlacementGroupOther = 'PLACEMENT_GROUP_OTHER', - PlacementGroupDetailPage = 'PLACEMENT_GROUP_DETAIL_PAGE', - PlacementGroupHome = 'PLACEMENT_GROUP_HOME', - ShopperSegmentNewToBrandPurchase = 'SHOPPER_SEGMENT_NEW_TO_BRAND_PURCHASE' -} - /** * The bid optimization strategy. - MAXIMIZE_IMMEDIATE_SALES - The default bidding strategy. The campaign is optimized to maximize sale. - MAXIMIZE_NEW_TO_BRAND_CUSTOMERS - The campaign is optimized to acquire more new-to-brand customers. * @export @@ -859,6 +878,31 @@ export interface BillingError { */ message: string; } +/** + * Properties associated with Brand Logo. + * @export + * @interface BrandLogo + */ +export interface BrandLogo { + /** + * + * @type {AssetCrop} + * @memberof BrandLogo + */ + brandLogoCrop?: AssetCrop; + /** + * + * @type {string} + * @memberof BrandLogo + */ + brandLogoUrl?: string; + /** + * The identifier of image/video asset from the store\'s asset library + * @type {string} + * @memberof BrandLogo + */ + brandLogoAssetId?: string; +} /** * The crop to apply to the selected Brand logo. A Brand logo must have minimum dimensions of 400x400. If a brandLogoAssetID is supplied but a crop is not, the crop will be defaulted to the whole image. * @export @@ -915,7 +959,13 @@ export interface BrandVideoCreative { */ brandName: string; /** - * An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API. + * If set to true and video asset is not in the marketplace\'s default language, Amazon will attempt to translate the video to the marketplace\'s default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information. + * @type {boolean} + * @memberof BrandVideoCreative + */ + consentToTranslate?: boolean; + /** + * The assetIds of the original videos submitted by the advertiser. If \'consentToTranslate\' is set to true and translation is SUCCESSFUL then \'videoAssetIds\' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId. * @type {Array} * @memberof BrandVideoCreative */ @@ -1464,6 +1514,18 @@ export interface Campaign { * @memberof Campaign */ portfolioId?: string; + /** + * This parameter is a PREVIEW ONLY and cannot be used as part of a request. The costType can be set to determines how the campaign will bid and charge. To view the bid maximums and minimums by geography and costType, see https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace - CPC [Default] - Cost per click. The performance of this campaign is measured by the clicks triggered by the ad. - VCPM - Cost per 1000 viewable impressions. The performance of this campaign is measured by the viewable impressions triggered by the ad. + * @type {string} + * @memberof Campaign + */ + costType?: string; + /** + * This parameter is a PREVIEW ONLY and cannot be used as part of a request. The smartDefault specifies a list of the smart default options for the campaign. `smartDefault` is optional for create campaign requests. `smartDefault` are applicable to all applicable child entities of the campaign and are not editable once the campaign is created. When using [\"TARGETING\"], targets will be automatically added based on the outcome selected. When [\"MANUAL\"] is selected, you will still be required to manually add targets. If you don\'t specify `smartDefault`, default value will be applied based on `outcome` . If campaign\'s `outcome` is selected, `smartDefault` will be set to [\"TARGETING\"]. Otherwise, a campaign\'s `smartDefault` will be set to [\"MANUAL\"]. Each element in smartDefault can be set to determines which default strategy to be used - MANUAL - Manual settings, no smart default be applied to the campaign, if MANUAL is added in the list, no other items are allowed in the list (the list must contains only one item) - TARGETING - Smart Default Targeting creation, will automatically creating targetings when create ad group Example: [\"TARGETING\"] + * @type {Array} + * @memberof Campaign + */ + smartDefault?: Array; /** * * @type {string} @@ -1482,6 +1544,12 @@ export interface Campaign { * @memberof Campaign */ startDate?: string; + /** + * The name of the campaign. The type of budget. This parameter is a PREVIEW ONLY and cannot be used as part of a request. Outcome will allow you to set outcome type to help drive your campaign performance. If no outcome is selected then it will default to PAGE_VISIT. The outcome type of the campaign. - BRAND_IMPRESSION_SHARE - This outcome will allow you grown your brand impression share on top of search placements - PAGE_VISIT [DEFAULT] - This outcome drives traffic to your landing and detail pages through all placements. + * @type {string} + * @memberof Campaign + */ + outcome?: string; /** * * @type {number} @@ -1496,7 +1564,7 @@ export interface Campaign { extendedData?: CampaignExtendedData; } /** - * + * CampaignExtendedData can only be retrieved via the list API. It won\'t be available in the response during update/create. * @export * @interface CampaignExtendedData */ @@ -1513,6 +1581,12 @@ export interface CampaignExtendedData { * @memberof CampaignExtendedData */ lastUpdateDate?: number; + /** + * The serving status reasons of the Campaign. + * @type {Array} + * @memberof CampaignExtendedData + */ + servingStatusDetails?: Array; /** * Creation date in epoch time. * @type {number} @@ -1755,80 +1829,6 @@ export interface CreateAssociatedBudgetRulesResponse { */ responses?: Array; } -/** - * - * @export - * @interface CreateAuthorCollectionAd - */ -export interface CreateAuthorCollectionAd { - /** - * - * @type {LandingPage} - * @memberof CreateAuthorCollectionAd - */ - landingPage: LandingPage; - /** - * The name of the ad. - * @type {string} - * @memberof CreateAuthorCollectionAd - */ - name: string; - /** - * - * @type {CreateOrUpdateEntityState} - * @memberof CreateAuthorCollectionAd - */ - state: CreateOrUpdateEntityState; - /** - * The adGroup identifier. - * @type {string} - * @memberof CreateAuthorCollectionAd - */ - adGroupId: string; - /** - * - * @type {CreateAuthorCollectionCreative} - * @memberof CreateAuthorCollectionAd - */ - creative: CreateAuthorCollectionCreative; -} -/** - * - * @export - * @interface CreateAuthorCollectionCreative - */ -export interface CreateAuthorCollectionCreative { - /** - * - * @type {BrandLogoCrop} - * @memberof CreateAuthorCollectionCreative - */ - brandLogoCrop?: BrandLogoCrop; - /** - * - * @type {Array} - * @memberof CreateAuthorCollectionCreative - */ - asins?: Array; - /** - * - * @type {string} - * @memberof CreateAuthorCollectionCreative - */ - brandName?: string; - /** - * - * @type {string} - * @memberof CreateAuthorCollectionCreative - */ - 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. - * @type {string} - * @memberof CreateAuthorCollectionCreative - */ - headline?: string; -} /** * * @export @@ -1890,6 +1890,12 @@ export interface CreateBrandVideoCreative { * @memberof CreateBrandVideoCreative */ brandName?: string; + /** + * If set to true and video asset is not in the marketplace\'s default language, Amazon will attempt to translate the video to the marketplace\'s default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information. + * @type {boolean} + * @memberof CreateBrandVideoCreative + */ + consentToTranslate?: boolean; /** * * @type {Array} @@ -1978,12 +1984,6 @@ export interface CreateCampaign { * @memberof CreateCampaign */ brandEntityId?: string; - /** - * The identifier of an existing portfolio to which the campaign is associated. - * @type {string} - * @memberof CreateCampaign - */ - portfolioId?: string; /** * * @type {Bidding} @@ -1996,6 +1996,36 @@ export interface CreateCampaign { * @memberof CreateCampaign */ endDate?: string; + /** + * + * @type {ProductLocation} + * @memberof CreateCampaign + */ + productLocation?: ProductLocation; + /** + * A list of advertiser-specified custom identifiers for the campaign. Each customer identifier is a key-value pair. You can specify a maximum of 50 identifiers. + * @type {{ [key: string]: string; }} + * @memberof CreateCampaign + */ + tags?: { [key: string]: string; }; + /** + * The identifier of an existing portfolio to which the campaign is associated. + * @type {string} + * @memberof CreateCampaign + */ + portfolioId?: string; + /** + * This parameter is a PREVIEW ONLY and cannot be used as part of a request. The costType can be set to determines how the campaign will bid and charge. To view the bid maximums and minimums by geography and costType, see https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace - CPC [Default] - Cost per click. The performance of this campaign is measured by the clicks triggered by the ad. - VCPM - Cost per 1000 viewable impressions. The performance of this campaign is measured by the viewable impressions triggered by the ad. + * @type {string} + * @memberof CreateCampaign + */ + costType?: string; + /** + * This parameter is a PREVIEW ONLY and cannot be used as part of a request. The smartDefault specifies a list of the smart default options for the campaign. `smartDefault` is optional for create campaign requests. `smartDefault` are applicable to all applicable child entities of the campaign and are not editable once the campaign is created. When using [\"TARGETING\"], targets will be automatically added based on the outcome selected. When [\"MANUAL\"] is selected, you will still be required to manually add targets. If you don\'t specify `smartDefault`, default value will be applied based on `outcome` . If campaign\'s `outcome` is selected, `smartDefault` will be set to [\"TARGETING\"]. Otherwise, a campaign\'s `smartDefault` will be set to [\"MANUAL\"]. Each element in smartDefault can be set to determines which default strategy to be used - MANUAL - Manual settings, no smart default be applied to the campaign, if MANUAL is added in the list, no other items are allowed in the list (the list must contains only one item) - TARGETING - Smart Default Targeting creation, will automatically creating targetings when create ad group Example: [\"TARGETING\"] + * @type {Array} + * @memberof CreateCampaign + */ + smartDefault?: Array; /** * * @type {string} @@ -2009,169 +2039,281 @@ export interface CreateCampaign { */ state: CreateOrUpdateEntityState; /** - * - * @type {ProductLocation} + * The name of the campaign. The budget of the campaign. The type of budget. startDate is optional. If startDate is not specified, current date will be used. + * @type {string} * @memberof CreateCampaign */ - productLocation?: ProductLocation; + startDate?: string; /** - * startDate is optional. If startDate is not specified, current date will be used. + * This parameter is a PREVIEW ONLY and cannot be used as part of a request. Outcome will allow you to set outcome type to help drive your campaign performance. If no outcome is selected then it will default to PAGE_VISIT. The outcome type of the campaign. - BRAND_IMPRESSION_SHARE - This outcome will allow you grown your brand impression share on top of search placement - PAGE_VISIT [DEFAULT] - This outcome drives traffic to your landing and detail pages through all placements. * @type {string} * @memberof CreateCampaign */ - startDate?: string; + outcome?: string; /** * * @type {number} * @memberof CreateCampaign */ budget: number; - /** - * A list of advertiser-specified custom identifiers for the campaign. Each customer identifier is a key-value pair. You can specify a maximum of 50 identifiers. - * @type {{ [key: string]: string; }} - * @memberof CreateCampaign - */ - tags?: { [key: string]: string; }; -} -/** - * Entity state for create or update operation. - * @export - * @enum {string} - */ - -export enum CreateOrUpdateEntityState { - Enabled = 'ENABLED', - Paused = 'PAUSED' } - /** * * @export - * @interface CreateProductCollectionAd + * @interface CreateExtendedProductCollectionAd */ -export interface CreateProductCollectionAd { +export interface CreateExtendedProductCollectionAd { /** * * @type {LandingPage} - * @memberof CreateProductCollectionAd + * @memberof CreateExtendedProductCollectionAd */ landingPage: LandingPage; /** * The name of the ad. * @type {string} - * @memberof CreateProductCollectionAd + * @memberof CreateExtendedProductCollectionAd */ name: string; /** * * @type {CreateOrUpdateEntityState} - * @memberof CreateProductCollectionAd + * @memberof CreateExtendedProductCollectionAd */ state: CreateOrUpdateEntityState; /** * The adGroup identifier. * @type {string} - * @memberof CreateProductCollectionAd + * @memberof CreateExtendedProductCollectionAd */ adGroupId: string; /** * - * @type {CreateProductCollectionCreative} - * @memberof CreateProductCollectionAd + * @type {CreateExtendedProductCollectionCreative} + * @memberof CreateExtendedProductCollectionAd */ - creative: CreateProductCollectionCreative; + creative: CreateExtendedProductCollectionCreative; } /** * * @export - * @interface CreateProductCollectionCreative + * @interface CreateExtendedProductCollectionCreative */ -export interface CreateProductCollectionCreative { +export interface CreateExtendedProductCollectionCreative { /** * * @type {BrandLogoCrop} - * @memberof CreateProductCollectionCreative + * @memberof CreateExtendedProductCollectionCreative */ brandLogoCrop?: BrandLogoCrop; /** * * @type {Array} - * @memberof CreateProductCollectionCreative + * @memberof CreateExtendedProductCollectionCreative */ asins?: Array; /** * * @type {string} - * @memberof CreateProductCollectionCreative + * @memberof CreateExtendedProductCollectionCreative */ brandName?: string; /** * - * @type {string} - * @memberof CreateProductCollectionCreative - */ - customImageAssetId?: string; - /** - * - * @type {CustomImageCrop} - * @memberof CreateProductCollectionCreative + * @type {Array} + * @memberof CreateExtendedProductCollectionCreative */ - customImageCrop?: CustomImageCrop; + customImages?: Array; /** * * @type {string} - * @memberof CreateProductCollectionCreative + * @memberof CreateExtendedProductCollectionCreative */ 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. + * * @type {string} - * @memberof CreateProductCollectionCreative + * @memberof CreateExtendedProductCollectionCreative */ headline?: string; } /** * * @export - * @interface CreateProductCollectionCreativeRequestContent + * @interface CreateExtendedProductCollectionCreativeRequestContent */ -export interface CreateProductCollectionCreativeRequestContent { +export interface CreateExtendedProductCollectionCreativeRequestContent { /** * The unique ID of a Sponsored Brands ad. * @type {string} - * @memberof CreateProductCollectionCreativeRequestContent + * @memberof CreateExtendedProductCollectionCreativeRequestContent */ adId: string; /** * - * @type {ProductCollectionCreative} - * @memberof CreateProductCollectionCreativeRequestContent + * @type {ExtendedProductCollectionCreative} + * @memberof CreateExtendedProductCollectionCreativeRequestContent */ - creative: ProductCollectionCreative; + creative: ExtendedProductCollectionCreative; } /** * Create creative response * @export - * @interface CreateProductCollectionCreativeResponseContent + * @interface CreateExtendedProductCollectionCreativeResponseContent */ -export interface CreateProductCollectionCreativeResponseContent { +export interface CreateExtendedProductCollectionCreativeResponseContent { /** * The unique ID of a Sponsored Brands ad. * @type {string} - * @memberof CreateProductCollectionCreativeResponseContent + * @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 CreateProductCollectionCreativeResponseContent + * @memberof CreateExtendedProductCollectionCreativeResponseContent */ creativeVersion?: string; } /** - * + * Entity state for create or update operation. * @export - * @interface CreateSBBudgetRulesRequest + * @enum {string} + */ + +export enum CreateOrUpdateEntityState { + Enabled = 'ENABLED', + Paused = 'PAUSED' +} + +/** + * + * @export + * @interface CreateProductCollectionAd + */ +export interface CreateProductCollectionAd { + /** + * + * @type {LandingPage} + * @memberof CreateProductCollectionAd + */ + landingPage: LandingPage; + /** + * The name of the ad. + * @type {string} + * @memberof CreateProductCollectionAd + */ + name: string; + /** + * + * @type {CreateOrUpdateEntityState} + * @memberof CreateProductCollectionAd + */ + state: CreateOrUpdateEntityState; + /** + * The adGroup identifier. + * @type {string} + * @memberof CreateProductCollectionAd + */ + adGroupId: string; + /** + * + * @type {CreateProductCollectionCreative} + * @memberof CreateProductCollectionAd + */ + creative: CreateProductCollectionCreative; +} +/** + * + * @export + * @interface CreateProductCollectionCreative + */ +export interface CreateProductCollectionCreative { + /** + * + * @type {BrandLogoCrop} + * @memberof CreateProductCollectionCreative + */ + brandLogoCrop?: BrandLogoCrop; + /** + * + * @type {Array} + * @memberof CreateProductCollectionCreative + */ + asins?: Array; + /** + * + * @type {string} + * @memberof CreateProductCollectionCreative + */ + brandName?: string; + /** + * + * @type {string} + * @memberof CreateProductCollectionCreative + */ + customImageAssetId?: string; + /** + * + * @type {CustomImageCrop} + * @memberof CreateProductCollectionCreative + */ + customImageCrop?: CustomImageCrop; + /** + * + * @type {string} + * @memberof CreateProductCollectionCreative + */ + 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. + * @type {string} + * @memberof CreateProductCollectionCreative + */ + headline?: string; +} +/** + * + * @export + * @interface CreateProductCollectionCreativeRequestContent + */ +export interface CreateProductCollectionCreativeRequestContent { + /** + * The unique ID of a Sponsored Brands ad. + * @type {string} + * @memberof CreateProductCollectionCreativeRequestContent + */ + adId: string; + /** + * + * @type {ProductCollectionCreative} + * @memberof CreateProductCollectionCreativeRequestContent + */ + creative: ProductCollectionCreative; +} +/** + * Create creative response + * @export + * @interface CreateProductCollectionCreativeResponseContent + */ +export interface CreateProductCollectionCreativeResponseContent { + /** + * The unique ID of a Sponsored Brands ad. + * @type {string} + * @memberof CreateProductCollectionCreativeResponseContent + */ + adId?: string; + /** + * The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative. + * @type {string} + * @memberof CreateProductCollectionCreativeResponseContent + */ + creativeVersion?: string; +} +/** + * + * @export + * @interface CreateSBBudgetRulesRequest */ export interface CreateSBBudgetRulesRequest { /** @@ -2207,6 +2349,32 @@ export interface CreateSPBudgetRulesRequest { */ budgetRulesDetails?: Array; } +/** + * + * @export + * @interface CreateSponsoredBrandStoreSpotlightAdsBetaRequestContent + */ +export interface CreateSponsoredBrandStoreSpotlightAdsBetaRequestContent { + /** + * + * @type {Array} + * @memberof CreateSponsoredBrandStoreSpotlightAdsBetaRequestContent + */ + ads: Array; +} +/** + * + * @export + * @interface CreateSponsoredBrandStoreSpotlightAdsBetaResponseContent + */ +export interface CreateSponsoredBrandStoreSpotlightAdsBetaResponseContent { + /** + * + * @type {BulkAdOperationResponse} + * @memberof CreateSponsoredBrandStoreSpotlightAdsBetaResponseContent + */ + ads?: BulkAdOperationResponse; +} /** * * @export @@ -2233,6 +2401,32 @@ export interface CreateSponsoredBrandStoreSpotlightAdsResponseContent { */ ads?: BulkAdOperationResponse; } +/** + * + * @export + * @interface CreateSponsoredBrandsAdGroupsBetaRequestContent + */ +export interface CreateSponsoredBrandsAdGroupsBetaRequestContent { + /** + * + * @type {Array} + * @memberof CreateSponsoredBrandsAdGroupsBetaRequestContent + */ + adGroups: Array; +} +/** + * + * @export + * @interface CreateSponsoredBrandsAdGroupsBetaResponseContent + */ +export interface CreateSponsoredBrandsAdGroupsBetaResponseContent { + /** + * + * @type {BulkAdGroupOperationResponse} + * @memberof CreateSponsoredBrandsAdGroupsBetaResponseContent + */ + adGroups?: BulkAdGroupOperationResponse; +} /** * * @export @@ -2262,26 +2456,26 @@ export interface CreateSponsoredBrandsAdGroupsResponseContent { /** * * @export - * @interface CreateSponsoredBrandsAuthorCollectionAdsRequestContent + * @interface CreateSponsoredBrandsBrandVideoAdsBetaRequestContent */ -export interface CreateSponsoredBrandsAuthorCollectionAdsRequestContent { +export interface CreateSponsoredBrandsBrandVideoAdsBetaRequestContent { /** * - * @type {Array} - * @memberof CreateSponsoredBrandsAuthorCollectionAdsRequestContent + * @type {Array} + * @memberof CreateSponsoredBrandsBrandVideoAdsBetaRequestContent */ - ads: Array; + ads: Array; } /** * * @export - * @interface CreateSponsoredBrandsAuthorCollectionAdsResponseContent + * @interface CreateSponsoredBrandsBrandVideoAdsBetaResponseContent */ -export interface CreateSponsoredBrandsAuthorCollectionAdsResponseContent { +export interface CreateSponsoredBrandsBrandVideoAdsBetaResponseContent { /** * * @type {BulkAdOperationResponse} - * @memberof CreateSponsoredBrandsAuthorCollectionAdsResponseContent + * @memberof CreateSponsoredBrandsBrandVideoAdsBetaResponseContent */ ads?: BulkAdOperationResponse; } @@ -2311,6 +2505,32 @@ export interface CreateSponsoredBrandsBrandVideoAdsResponseContent { */ ads?: BulkAdOperationResponse; } +/** + * + * @export + * @interface CreateSponsoredBrandsCampaignsBetaRequestContent + */ +export interface CreateSponsoredBrandsCampaignsBetaRequestContent { + /** + * + * @type {Array} + * @memberof CreateSponsoredBrandsCampaignsBetaRequestContent + */ + campaigns: Array; +} +/** + * + * @export + * @interface CreateSponsoredBrandsCampaignsBetaResponseContent + */ +export interface CreateSponsoredBrandsCampaignsBetaResponseContent { + /** + * + * @type {BulkCampaignOperationResponse} + * @memberof CreateSponsoredBrandsCampaignsBetaResponseContent + */ + campaigns?: BulkCampaignOperationResponse; +} /** * * @export @@ -2337,6 +2557,58 @@ export interface CreateSponsoredBrandsCampaignsResponseContent { */ campaigns?: BulkCampaignOperationResponse; } +/** + * + * @export + * @interface CreateSponsoredBrandsExtendedProductCollectionAdsRequestContent + */ +export interface CreateSponsoredBrandsExtendedProductCollectionAdsRequestContent { + /** + * + * @type {Array} + * @memberof CreateSponsoredBrandsExtendedProductCollectionAdsRequestContent + */ + ads: Array; +} +/** + * + * @export + * @interface CreateSponsoredBrandsExtendedProductCollectionAdsResponseContent + */ +export interface CreateSponsoredBrandsExtendedProductCollectionAdsResponseContent { + /** + * + * @type {BulkAdOperationResponse} + * @memberof CreateSponsoredBrandsExtendedProductCollectionAdsResponseContent + */ + ads?: BulkAdOperationResponse; +} +/** + * + * @export + * @interface CreateSponsoredBrandsProductCollectionAdsBetaRequestContent + */ +export interface CreateSponsoredBrandsProductCollectionAdsBetaRequestContent { + /** + * + * @type {Array} + * @memberof CreateSponsoredBrandsProductCollectionAdsBetaRequestContent + */ + ads: Array; +} +/** + * + * @export + * @interface CreateSponsoredBrandsProductCollectionAdsBetaResponseContent + */ +export interface CreateSponsoredBrandsProductCollectionAdsBetaResponseContent { + /** + * + * @type {BulkAdOperationResponse} + * @memberof CreateSponsoredBrandsProductCollectionAdsBetaResponseContent + */ + ads?: BulkAdOperationResponse; +} /** * * @export @@ -2363,6 +2635,32 @@ export interface CreateSponsoredBrandsProductCollectionAdsResponseContent { */ ads?: BulkAdOperationResponse; } +/** + * + * @export + * @interface CreateSponsoredBrandsVideoAdsBetaRequestContent + */ +export interface CreateSponsoredBrandsVideoAdsBetaRequestContent { + /** + * + * @type {Array} + * @memberof CreateSponsoredBrandsVideoAdsBetaRequestContent + */ + ads: Array; +} +/** + * + * @export + * @interface CreateSponsoredBrandsVideoAdsBetaResponseContent + */ +export interface CreateSponsoredBrandsVideoAdsBetaResponseContent { + /** + * + * @type {BulkAdOperationResponse} + * @memberof CreateSponsoredBrandsVideoAdsBetaResponseContent + */ + ads?: BulkAdOperationResponse; +} /** * * @export @@ -2544,6 +2842,12 @@ export interface CreateVideoCreative { * @memberof CreateVideoCreative */ asins?: Array; + /** + * If set to true and video asset is not in the marketplace\'s default language, Amazon will attempt to translate the video to the marketplace\'s default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information. + * @type {boolean} + * @memberof CreateVideoCreative + */ + consentToTranslate?: boolean; /** * In SB API V4, `videoMediaIds` is replaced by `videoAssetIds`. `videoAssetIds` will only allow Asset Library identifiers for ad creation, but responses can include mediaIds for v1 campaigns and API V3 operations. At a future state, existing mediaIds will be added to Asset library for use in SB campaigns. * @type {Array} @@ -2603,46 +2907,70 @@ export interface Creative { brandLogoCrop?: BrandLogoCrop; /** * - * @type {Array} + * @type {string} * @memberof Creative */ - asins?: Array; + brandName?: string; /** * * @type {string} * @memberof Creative */ - brandLogoUrl?: string; + customImageAssetId?: string; + /** + * If set to true and video asset is not in the marketplace\'s default language, Amazon will attempt to translate the video to the marketplace\'s default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information. + * @type {boolean} + * @memberof Creative + */ + consentToTranslate?: boolean; /** * - * @type {string} + * @type {Array} * @memberof Creative */ - brandName?: string; + customImages?: Array; + /** + * + * @type {CustomImageCrop} + * @memberof Creative + */ + customImageCrop?: CustomImageCrop; /** * * @type {string} * @memberof Creative */ - customImageAssetId?: string; + customImageUrl?: string; /** * - * @type {Array} + * @type {CreativeType} * @memberof Creative */ - subpages?: Array; + type?: CreativeType; + /** + * The assetIds of the original videos submitted by the advertiser. If \'consentToTranslate\' is set to true and translation is SUCCESSFUL then `originalVideoAssetIds` will return the original video assetId whereas `videoAssetIds` will return translated video assetId. In all other cases, \'originalVideoAssetIds\' and `videoAssetIds` both will return original video assetId. + * @type {Array} + * @memberof Creative + */ + originalVideoAssetIds?: Array; /** * - * @type {CustomImageCrop} + * @type {Array} * @memberof Creative */ - customImageCrop?: CustomImageCrop; + asins?: Array; /** * * @type {string} * @memberof Creative */ - customImageUrl?: string; + brandLogoUrl?: string; + /** + * + * @type {Array} + * @memberof Creative + */ + subpages?: Array; /** * In SB API V4, `videoMediaIds` is replaced by `videoAssetIds`. `videoAssetIds` will only allow Asset Library identifiers for ad creation, but responses can include mediaIds for v1 campaigns and API V3 operations. At a future state, existing mediaIds will be added to Asset library for use in SB campaigns. * @type {Array} @@ -2656,20 +2984,131 @@ export interface Creative { */ brandLogoAssetID?: string; /** - * - * @type {CreativeType} + * 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. + * @type {string} * @memberof Creative */ - type?: CreativeType; + headline?: string; +} +/** + * + * @export + * @interface CreativeImageRecommendationEntry + */ +export interface CreativeImageRecommendationEntry { /** - * 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. + * Recommendations with higher values are more relevant + * @type {number} + * @memberof CreativeImageRecommendationEntry + */ + score?: number; + /** + * The asset size in bytes + * @type {number} + * @memberof CreativeImageRecommendationEntry + */ + sizeInBytes?: number; + /** + * The identifier of image/video asset from the store\'s asset library * @type {string} - * @memberof Creative + * @memberof CreativeImageRecommendationEntry + */ + assetId?: string; + /** + * The URL of the asset + * @type {string} + * @memberof CreativeImageRecommendationEntry + */ + imageUrl?: string; + /** + * The width of the asset in pixels + * @type {number} + * @memberof CreativeImageRecommendationEntry + */ + width?: number; + /** + * The fileName of the asset + * @type {string} + * @memberof CreativeImageRecommendationEntry + */ + name?: string; + /** + * + * @type {MediaType} + * @memberof CreativeImageRecommendationEntry + */ + contentType?: MediaType; + /** + * The height of the asset in pixels + * @type {number} + * @memberof CreativeImageRecommendationEntry + */ + height?: number; +} +/** + * + * @export + * @interface CreativeImageRecommendationRequestContent + */ +export interface CreativeImageRecommendationRequestContent { + /** + * ----------------------------------------------- List types ----------------------------------------------- A list of ASINs + * @type {Array} + * @memberof CreativeImageRecommendationRequestContent + */ + asins: Array; + /** + * + * @type {AssetSubType} + * @memberof CreativeImageRecommendationRequestContent + */ + assetSubType?: AssetSubType; + /** + * Maximum number of recommendations that API should return. Response will [0, recommendations] recommendations (recommendations are not guaranteed). + * @type {number} + * @memberof CreativeImageRecommendationRequestContent + */ + maxNumRecommendations?: number; + /** + * Filter assets by program types. For example, if only [A_PLUS] assets are requested then only assets that were used as A+ content will be recommended. If no program type is provided, recommend assets from all programs + * @type {Array} + * @memberof CreativeImageRecommendationRequestContent + */ + assetPrograms?: Array; + /** + * (Optional) locale of creative headline and ASIN titles. If locale is not provided, default locale of marketplace is used. Currently, only en_US and en_CA are supported. + * @type {string} + * @memberof CreativeImageRecommendationRequestContent + */ + locale?: 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 CreativeImageRecommendationRequestContent */ headline?: string; } /** - * Landing page + * + * @export + * @interface CreativeImageRecommendationResponseContent + */ +export interface CreativeImageRecommendationResponseContent { + /** + * The total number of results returned by an operation. + * @type {number} + * @memberof CreativeImageRecommendationResponseContent + */ + totalResults?: number; + /** + * Recommendations are sorted on relevancy score, i.e. more relevant image has lesser array index value + * @type {Array} + * @memberof CreativeImageRecommendationResponseContent + */ + recommendations?: Array; +} +/** + * Landing page. * @export * @interface CreativeLandingPage */ @@ -2696,34 +3135,46 @@ 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' } /** - * Creative properties + * Landing page V2, where type is String with allowed values listed, and url of that type. * @export - * @interface CreativeProperties + * @interface CreativeLandingPageV2 */ -export interface CreativeProperties { +export interface CreativeLandingPageV2 { /** - * A list of ASINs - * @type {Array} - * @memberof CreativeProperties + * Supported types are PRODUCT_LIST, STORE, DETAIL_PAGE, CUSTOM_URL. More could be added in future. + * @type {string} + * @memberof CreativeLandingPageV2 */ - asins?: Array; + type?: string; /** * - * @type {AssetCrop} - * @memberof CreativeProperties + * @type {string} + * @memberof CreativeLandingPageV2 */ - brandLogoCrop?: AssetCrop; + url?: string; +} +/** + * Creative properties + * @export + * @interface CreativeProperties + */ +export interface CreativeProperties { /** * - * @type {string} + * @type {AssetCrop} * @memberof CreativeProperties */ - brandLogoUrl?: string; + 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} @@ -2736,18 +3187,24 @@ 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; + /** + * If set to true and video asset is not in the marketplace\'s default language, Amazon will attempt to translate the video to the marketplace\'s default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information. + * @type {boolean} + * @memberof CreativeProperties + */ + consentToTranslate?: boolean; /** * * @type {AssetCrop} @@ -2761,7 +3218,31 @@ export interface CreativeProperties { */ customImageUrl?: string; /** - * An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API. + * The assetIds of the original videos submitted by the advertiser. If \'consentToTranslate\' is set to true and translation is SUCCESSFUL then `originalVideoAssetIds` will return the original video assetId whereas `videoAssetIds` will return translated video assetId. In all other cases, \'originalVideoAssetIds\' and `videoAssetIds` both will return original video assetId. + * @type {Array} + * @memberof CreativeProperties + */ + originalVideoAssetIds?: Array; + /** + * ----------------------------------------------- List types ----------------------------------------------- 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; + /** + * The assetIds of the original videos submitted by the advertiser. If \'consentToTranslate\' is set to true and translation is SUCCESSFUL then \'videoAssetIds\' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId. * @type {Array} * @memberof CreativeProperties */ @@ -2779,6 +3260,105 @@ export interface CreativeProperties { */ headline?: string; } +/** + * Creative Recommendation by Id Response. + * @export + * @interface CreativeRecommendationByIdResponseContent + */ +export interface CreativeRecommendationByIdResponseContent { + /** + * Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future. + * @type {string} + * @memberof CreativeRecommendationByIdResponseContent + */ + creativeType?: string; + /** + * + * @type {CreativeRecommendationProperties} + * @memberof CreativeRecommendationByIdResponseContent + */ + creativeProperties?: CreativeRecommendationProperties; +} +/** + * Nested Creative Properties Structure for fetching Creative Recommendations. + * @export + * @interface CreativeRecommendationProperties + */ +export interface CreativeRecommendationProperties { + /** + * ----------------------------------------------- List types ----------------------------------------------- A list of ASINs + * @type {Array} + * @memberof CreativeRecommendationProperties + */ + asins?: Array; + /** + * 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 CreativeRecommendationProperties + */ + brandName?: string; + /** + * An array of subpages + * @type {Array} + * @memberof CreativeRecommendationProperties + */ + subpages?: Array; + /** + * + * @type {CreativeLandingPageV2} + * @memberof CreativeRecommendationProperties + */ + landingPage?: CreativeLandingPageV2; + /** + * An array of customImages associated with the creative. + * @type {Array} + * @memberof CreativeRecommendationProperties + */ + customImages?: Array; + /** + * An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API. + * @type {Array} + * @memberof CreativeRecommendationProperties + */ + videoAssetIds?: Array; + /** + * a Unique Id identifying the creative Recommendation + * @type {string} + * @memberof CreativeRecommendationProperties + */ + recommendedCreativeId?: string; + /** + * + * @type {BrandLogo} + * @memberof CreativeRecommendationProperties + */ + brandLogo?: BrandLogo; + /** + * 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 CreativeRecommendationProperties + */ + headline?: string; +} +/** + * Creative Recommendation Result. + * @export + * @interface CreativeRecommendationResultEntry + */ +export interface CreativeRecommendationResultEntry { + /** + * Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future. + * @type {string} + * @memberof CreativeRecommendationResultEntry + */ + creativeType?: string; + /** + * + * @type {CreativeRecommendationProperties} + * @memberof CreativeRecommendationResultEntry + */ + creativeProperties?: CreativeRecommendationProperties; +} /** * * @export @@ -2835,6 +3415,38 @@ export enum CreativeRecommendationsBadRequestErrorCodeEnum { BadRequest = 'BAD_REQUEST' } +/** + * + * @export + * @interface CreativeRecommendationsEligibilityRequestContent + */ +export interface CreativeRecommendationsEligibilityRequestContent { + /** + * URL that is intended to be landing page for the sponsored ad. + * @type {string} + * @memberof CreativeRecommendationsEligibilityRequestContent + */ + landingPageUrl: string; +} +/** + * + * @export + * @interface CreativeRecommendationsEligibilityResponseContent + */ +export interface CreativeRecommendationsEligibilityResponseContent { + /** + * Returns false if there is no creative recommendation possible with the given landing page. + * @type {boolean} + * @memberof CreativeRecommendationsEligibilityResponseContent + */ + isEligible?: boolean; + /** + * Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future. + * @type {Array} + * @memberof CreativeRecommendationsEligibilityResponseContent + */ + creativeTypes?: Array; +} /** * * @export @@ -2925,6 +3537,37 @@ export enum CreativeRecommendationsRequestAdFormatEnum { SponsoredBrandsVideo = 'SPONSORED_BRANDS_VIDEO' } +/** + * + * @export + * @interface CreativeRecommendationsRequestContent + */ +export interface CreativeRecommendationsRequestContent { + /** + * Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future. + * @type {string} + * @memberof CreativeRecommendationsRequestContent + */ + creativeType: string; + /** + * Operations that return paginated results include a pagination token in this field. 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 CreativeRecommendationsRequestContent + */ + nextToken?: string; + /** + * Set a limit on the number of results returned by an operation. + * @type {number} + * @memberof CreativeRecommendationsRequestContent + */ + maxResults?: number; + /** + * URL that is intended to be landing page for the sponsored ad. + * @type {string} + * @memberof CreativeRecommendationsRequestContent + */ + landingPageUrl: string; +} /** * * @export @@ -2936,13 +3579,38 @@ export interface CreativeRecommendationsResponse { * @type {Array>} * @memberof CreativeRecommendationsResponse */ - primaryHeadlines?: Array>; + primaryHeadlines?: Array>; + /** + * Ordered list of Secondary Headline recommendation groups. + * @type {Array>} + * @memberof CreativeRecommendationsResponse + */ + secondaryHeadlines?: Array>; +} +/** + * + * @export + * @interface CreativeRecommendationsResponseContent + */ +export interface CreativeRecommendationsResponseContent { + /** + * The total number of results returned by an operation. + * @type {number} + * @memberof CreativeRecommendationsResponseContent + */ + totalResults?: number; + /** + * Operations that return paginated results include a pagination token in this field. 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 CreativeRecommendationsResponseContent + */ + nextToken?: string; /** - * Ordered list of Secondary Headline recommendation groups. - * @type {Array>} - * @memberof CreativeRecommendationsResponse + * A list of creatives + * @type {Array} + * @memberof CreativeRecommendationsResponseContent */ - secondaryHeadlines?: Array>; + creatives?: Array; } /** * @@ -2980,6 +3648,7 @@ export enum CreativeRecommendationsThrottlingErrorCodeEnum { export enum CreativeStatus { SubmittedForModeration = 'SUBMITTED_FOR_MODERATION', + PendingTranslation = 'PENDING_TRANSLATION', PendingModerationReview = 'PENDING_MODERATION_REVIEW', ApprovedByModeration = 'APPROVED_BY_MODERATION', RejectedByModeration = 'REJECTED_BY_MODERATION', @@ -2994,12 +3663,36 @@ export enum CreativeStatus { export enum CreativeType { ProductCollection = 'PRODUCT_COLLECTION', - AuthorCollection = 'AUTHOR_COLLECTION', StoreSpotlight = 'STORE_SPOTLIGHT', Video = 'VIDEO', BrandVideo = 'BRAND_VIDEO' } +/** + * + * @export + * @interface CustomImage + */ +export interface CustomImage { + /** + * + * @type {string} + * @memberof CustomImage + */ + assetId?: string; + /** + * + * @type {CustomImageCrop} + * @memberof CustomImage + */ + crop?: CustomImageCrop; + /** + * + * @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 @@ -3234,6 +3927,32 @@ export enum DayOfWeek { Sunday = 'SUNDAY' } +/** + * + * @export + * @interface DeleteSponsoredBrandsAdGroupsBetaRequestContent + */ +export interface DeleteSponsoredBrandsAdGroupsBetaRequestContent { + /** + * + * @type {ObjectIdFilter} + * @memberof DeleteSponsoredBrandsAdGroupsBetaRequestContent + */ + adGroupIdFilter?: ObjectIdFilter; +} +/** + * + * @export + * @interface DeleteSponsoredBrandsAdGroupsBetaResponseContent + */ +export interface DeleteSponsoredBrandsAdGroupsBetaResponseContent { + /** + * + * @type {BulkAdGroupOperationResponse} + * @memberof DeleteSponsoredBrandsAdGroupsBetaResponseContent + */ + adGroups?: BulkAdGroupOperationResponse; +} /** * * @export @@ -3260,6 +3979,32 @@ export interface DeleteSponsoredBrandsAdGroupsResponseContent { */ adGroups?: BulkAdGroupOperationResponse; } +/** + * + * @export + * @interface DeleteSponsoredBrandsAdsBetaRequestContent + */ +export interface DeleteSponsoredBrandsAdsBetaRequestContent { + /** + * + * @type {ObjectIdFilter} + * @memberof DeleteSponsoredBrandsAdsBetaRequestContent + */ + adIdFilter?: ObjectIdFilter; +} +/** + * + * @export + * @interface DeleteSponsoredBrandsAdsBetaResponseContent + */ +export interface DeleteSponsoredBrandsAdsBetaResponseContent { + /** + * + * @type {BulkAdOperationResponse} + * @memberof DeleteSponsoredBrandsAdsBetaResponseContent + */ + ads?: BulkAdOperationResponse; +} /** * * @export @@ -3286,6 +4031,32 @@ export interface DeleteSponsoredBrandsAdsResponseContent { */ ads?: BulkAdOperationResponse; } +/** + * + * @export + * @interface DeleteSponsoredBrandsCampaignsBetaRequestContent + */ +export interface DeleteSponsoredBrandsCampaignsBetaRequestContent { + /** + * + * @type {ObjectIdFilter} + * @memberof DeleteSponsoredBrandsCampaignsBetaRequestContent + */ + campaignIdFilter?: ObjectIdFilter; +} +/** + * + * @export + * @interface DeleteSponsoredBrandsCampaignsBetaResponseContent + */ +export interface DeleteSponsoredBrandsCampaignsBetaResponseContent { + /** + * + * @type {BulkCampaignOperationResponse} + * @memberof DeleteSponsoredBrandsCampaignsBetaResponseContent + */ + campaigns?: BulkCampaignOperationResponse; +} /** * * @export @@ -3356,6 +4127,31 @@ export interface ErrorCause { */ trigger?: string; } +/** + * + * @export + * @interface ErrorDetails + */ +export interface ErrorDetails { + /** + * + * @type {string} + * @memberof ErrorDetails + */ + errorMessage?: string; + /** + * The index of the image task in the array from the request body + * @type {number} + * @memberof ErrorDetails + */ + index?: number; + /** + * + * @type {string} + * @memberof ErrorDetails + */ + errorCode?: string; +} /** * Object representing event type rule duration. * @export @@ -3388,36 +4184,47 @@ export interface EventTypeRuleDuration { startDate?: string; } /** - * The lower and upper bound forecast values. + * * @export - * @interface Forecast + * @interface ExtendedProductCollectionCreative */ -export interface Forecast { +export interface ExtendedProductCollectionCreative { /** - * The forecasted number of shoppers who will newly join the associated shopper segment. - * @type {number} - * @memberof Forecast + * An array of ASINs associated with the creative. + * @type {Array} + * @memberof ExtendedProductCollectionCreative + */ + asins: Array; + /** + * + * @type {AssetCrop} + * @memberof ExtendedProductCollectionCreative */ - upperBound?: number; + brandLogoCrop?: AssetCrop; /** - * The forecasted number of shoppers who will newly join the associated shopper segment. - * @type {number} - * @memberof Forecast + * 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 */ - lowerBound?: number; -} -/** - * The campaign performance forecast for each confidence interval. Currently only `large` interval is provided. - * @export - * @interface Forecasts - */ -export interface Forecasts { + brandName: string; /** - * - * @type {Forecast} - * @memberof Forecasts + * 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 */ - large?: Forecast; + headline: string; } /** * @@ -3451,62 +4258,6 @@ export interface GetBudgetRecommendationsResponseContent { */ error: Array; } -/** - * Request structure for shopper segment bidding campaign performance forecasts. If campaignId is provided, all other parameters are optional and will be applied on top of existing campaign attributes. If campaignId is not provided, all other parameters, except adGroupId, bidAdjustments, startDate, and endDate, must be provided. - * @export - * @interface GetCampaignShopperSegmentForecastRequestContent - */ -export interface GetCampaignShopperSegmentForecastRequestContent { - /** - * - * @type {BudgetType} - * @memberof GetCampaignShopperSegmentForecastRequestContent - */ - budgetType?: BudgetType; - /** - * - * @type {Array} - * @memberof GetCampaignShopperSegmentForecastRequestContent - */ - adGroups?: Array; - /** - * The YYYY-MM-DD end date for the campaign. Must be greater than the value for `startDate`. If not specified, the campaign has no end date and runs continuously. - * @type {string} - * @memberof GetCampaignShopperSegmentForecastRequestContent - */ - endDate?: string; - /** - * The campaign identifier. - * @type {string} - * @memberof GetCampaignShopperSegmentForecastRequestContent - */ - campaignId?: string; - /** - * The YYYY-MM-DD start date for the campaign. If this field is not set to a value, the current date is used. - * @type {string} - * @memberof GetCampaignShopperSegmentForecastRequestContent - */ - startDate?: string; - /** - * The budget amount associated with the campaign. - * @type {number} - * @memberof GetCampaignShopperSegmentForecastRequestContent - */ - budget?: number; -} -/** - * Response structure for shopper segment bidding campaign performance forecasts. - * @export - * @interface GetCampaignShopperSegmentForecastResponseContent - */ -export interface GetCampaignShopperSegmentForecastResponseContent { - /** - * An array of forecasts for each shopper segment. Currently only `shopperSegmentNewToBrandPurchase` segment is provided. - * @type {Array} - * @memberof GetCampaignShopperSegmentForecastResponseContent - */ - output?: Array; -} /** * * @export @@ -3858,42 +4609,154 @@ export interface ImagePolicyViolation { * @type {Array} * @memberof ImagePolicyViolation */ - imageEvidences?: Array; + imageEvidences?: Array; + /** + * A policy violation code. + * @type {string} + * @memberof ImagePolicyViolation + */ + name?: string; + /** + * Type of policy violation. + * @type {string} + * @memberof ImagePolicyViolation + */ + type?: ImagePolicyViolationTypeEnum; + /** + * Address of the policy documentation. Follow the link to learn more about the specified policy. + * @type {string} + * @memberof ImagePolicyViolation + */ + policyLinkUrl?: string; + /** + * Policy violation on an image can be detected on the ocr detected text on the image as well. This list of text evidences will have the policy violations detected on the text on top of the image. + * @type {Array} + * @memberof ImagePolicyViolation + */ + textEvidences?: Array; +} + +/** + * @export + * @enum {string} + */ +export enum ImagePolicyViolationTypeEnum { + Warning = 'WARNING', + Rejected = 'REJECTED' +} + +/** + * + * @export + * @interface ImageResult + */ +export interface ImageResult { + /** + * Alt text for this image + * @type {string} + * @memberof ImageResult + */ + imageAltText?: string; + /** + * + * @type {string} + * @memberof ImageResult + */ + imageUrl?: string; +} +/** + * Structure for Image specification + * @export + * @interface ImageSpec + */ +export interface ImageSpec { + /** + * Image resolution, default is 1200 x 628. New values will be added later. | Resolution | Value | |---------------|---------------| | 1200 x 628 | 1200 x 628 | + * @type {string} + * @memberof ImageSpec + */ + resolution?: string; + /** + * Valid values are PNG and JPEG, default is PNG. New values will be added later. | File Format | Value | |---------------|---------------| | PNG | PNG | | JPEG | JPEG | + * @type {string} + * @memberof ImageSpec + */ + fileFormat?: string; +} +/** + * + * @export + * @interface ImageTask + */ +export interface ImageTask { + /** + * The timestamp after which the imageUrl will be invalid. The number represents Unix epoch seconds with optional millisecond precision. + * @type {number} + * @memberof ImageTask + */ + imageUrlExpiration?: number; + /** + * + * @type {Array} + * @memberof ImageTask + */ + imageResults?: Array; + /** + * + * @type {string} + * @memberof ImageTask + */ + taskId?: string; + /** + * Image task status. Valid values are PENDING, COMPLETED and FAILED + * @type {string} + * @memberof ImageTask + */ + status?: string; +} +/** + * + * @export + * @interface ImageTaskMetadata + */ +export interface ImageTaskMetadata { + /** + * + * @type {ImageSpec} + * @memberof ImageTaskMetadata + */ + imageSpec?: ImageSpec; + /** + * Optional. An upper bound for number of image results for this set of metadata. Default value is 4. + * @type {number} + * @memberof ImageTaskMetadata + */ + maxResults?: number; /** - * A policy violation code. + * Optional. * @type {string} - * @memberof ImagePolicyViolation + * @memberof ImageTaskMetadata */ - name?: string; + themeId?: string; /** - * Type of policy violation. + * Required. The product that is shown in AI image. * @type {string} - * @memberof ImagePolicyViolation + * @memberof ImageTaskMetadata */ - type?: ImagePolicyViolationTypeEnum; + asin: string; /** - * Address of the policy documentation. Follow the link to learn more about the specified policy. + * Optional. Open text prompt * @type {string} - * @memberof ImagePolicyViolation + * @memberof ImageTaskMetadata */ - policyLinkUrl?: string; + prompt?: string; /** - * Policy violation on an image can be detected on the ocr detected text on the image as well. This list of text evidences will have the policy violations detected on the text on top of the image. - * @type {Array} - * @memberof ImagePolicyViolation + * Optional. Source image provided by advertiser and they are registered in Asset Library + * @type {string} + * @memberof ImageTaskMetadata */ - textEvidences?: Array; -} - -/** - * @export - * @enum {string} - */ -export enum ImagePolicyViolationTypeEnum { - Warning = 'WARNING', - Rejected = 'REJECTED' + productImageAssetId?: string; } - /** * * @export @@ -3914,6 +4777,31 @@ export enum InternalServerErrorCode { InternalError = 'INTERNAL_ERROR' } +/** + * + * @export + * @interface InternalServerErrorResponseContent + */ +export interface InternalServerErrorResponseContent { + /** + * + * @type {InternalServerErrorCode} + * @memberof InternalServerErrorResponseContent + */ + code: InternalServerErrorCode; + /** + * + * @type {string} + * @memberof InternalServerErrorResponseContent + */ + requestId: string; + /** + * + * @type {string} + * @memberof InternalServerErrorResponseContent + */ + message: string; +} /** * * @export @@ -3962,6 +4850,31 @@ export enum InvalidArgumentErrorCode { InvalidArgument = 'INVALID_ARGUMENT' } +/** + * + * @export + * @interface InvalidArgumentErrorResponseContent + */ +export interface InvalidArgumentErrorResponseContent { + /** + * + * @type {InvalidArgumentErrorCode} + * @memberof InvalidArgumentErrorResponseContent + */ + code: InvalidArgumentErrorCode; + /** + * + * @type {string} + * @memberof InvalidArgumentErrorResponseContent + */ + requestId: string; + /** + * + * @type {string} + * @memberof InvalidArgumentErrorResponseContent + */ + message: string; +} /** * * @export @@ -4007,29 +4920,17 @@ export interface InvalidArgumentExceptionResponseContent { errors?: Array; } /** - * Keyword associated with the campaign. + * * @export - * @interface Keyword + * @interface KeywordInsight */ -export interface Keyword { +export interface KeywordInsight { /** * - * @type {MatchType} - * @memberof Keyword - */ - matchType?: MatchType; - /** - * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). - * @type {number} - * @memberof Keyword - */ - bid?: number; - /** - * The keyword text. Maximum of 10 words. - * @type {string} - * @memberof Keyword + * @type {SBInsightsKeywordInsight} + * @memberof KeywordInsight */ - keywordText?: string; + keywordInsight: SBInsightsKeywordInsight; } /** * @@ -4050,7 +4951,7 @@ export interface LandingPage { */ pageType?: LandingPageType; /** - * URL of an existing simple landing page or Store page. Vendors may also specify the URL of a custom landing page. If a custom URL is specified, the landing page must include the ASINs of at least three products that are advertised as part of the campaign. Do not include this property in the request if the asins property is also included, these properties are mutually exclusive. Note that brandVideo ads only support Store page as landing page. + * URL of an existing simple landing page or Store page. Vendors may also specify the URL of a custom landing page. If a custom URL is specified, the landing page must include the ASINs of at least three products that are advertised as part of the campaign. Do not include this property in the request if the asins property is also included, these properties are mutually exclusive. Note that brandVideo ads only support Store page as landing page and does not allow asins property. * @type {string} * @memberof LandingPage */ @@ -4138,7 +5039,7 @@ export interface ListCreativesResponseContent { creatives?: Array; } /** - * Creative + * ----------------------------------------------- Structure types ----------------------------------------------- Creative * @export * @interface ListCreativesResultEntry */ @@ -4184,79 +5085,295 @@ export interface ListCreativesResultEntry { * @type {number} * @memberof ListCreativesResultEntry */ - lastUpdateTime?: number; + lastUpdateTime?: number; +} +/** + * + * @export + * @interface ListImageTasksRequestContent + */ +export interface ListImageTasksRequestContent { + /** + * + * @type {StatusFilter} + * @memberof ListImageTasksRequestContent + */ + statusFilter?: StatusFilter; + /** + * + * @type {number} + * @memberof ListImageTasksRequestContent + */ + maxResults?: number; + /** + * Operations that return paginated results include a pagination token in this field. 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 ListImageTasksRequestContent + */ + nextToken?: string; + /** + * + * @type {TaskIdFilter} + * @memberof ListImageTasksRequestContent + */ + taskIdFilter?: TaskIdFilter; + /** + * + * @type {string} + * @memberof ListImageTasksRequestContent + */ + batchId: string; +} +/** + * + * @export + * @interface ListImageTasksResponseContent + */ +export interface ListImageTasksResponseContent { + /** + * Operations that return paginated results include a pagination token in this field. 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 ListImageTasksResponseContent + */ + nextToken?: string; + /** + * + * @type {Array} + * @memberof ListImageTasksResponseContent + */ + imageTaskList?: Array; + /** + * + * @type {string} + * @memberof ListImageTasksResponseContent + */ + batchId?: string; + /** + * + * @type {number} + * @memberof ListImageTasksResponseContent + */ + totalCount?: number; +} +/** + * + * @export + * @interface ListSponsoredBrandsAdGroupsBetaRequestContent + */ +export interface ListSponsoredBrandsAdGroupsBetaRequestContent { + /** + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + campaignIdFilter?: ObjectIdFilter; + /** + * + * @type {EntityStateFilter} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + stateFilter?: EntityStateFilter; + /** + * Number of records to include in the paginated response. Defaults to max page size for given API. + * @type {number} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + maxResults?: number; + /** + * Token value allowing to navigate to the next response page. + * @type {string} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + nextToken?: string; + /** + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + adGroupIdFilter?: ObjectIdFilter; + /** + * Setting to true will slow down performance because the API needs to retrieve extra information for each campaign. + * @type {boolean} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + includeExtendedDataFields?: boolean; + /** + * + * @type {NameFilter} + * @memberof ListSponsoredBrandsAdGroupsBetaRequestContent + */ + nameFilter?: NameFilter; +} +/** + * + * @export + * @interface ListSponsoredBrandsAdGroupsBetaResponseContent + */ +export interface ListSponsoredBrandsAdGroupsBetaResponseContent { + /** + * The total number of entities. + * @type {number} + * @memberof ListSponsoredBrandsAdGroupsBetaResponseContent + */ + totalResults?: number; + /** + * + * @type {Array} + * @memberof ListSponsoredBrandsAdGroupsBetaResponseContent + */ + adGroups?: Array; + /** + * Token value allowing to navigate to the next response page. + * @type {string} + * @memberof ListSponsoredBrandsAdGroupsBetaResponseContent + */ + nextToken?: string; +} +/** + * + * @export + * @interface ListSponsoredBrandsAdGroupsRequestContent + */ +export interface ListSponsoredBrandsAdGroupsRequestContent { + /** + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + campaignIdFilter?: ObjectIdFilter; + /** + * + * @type {EntityStateFilter} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + stateFilter?: EntityStateFilter; + /** + * Number of records to include in the paginated response. Defaults to max page size for given API. + * @type {number} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + maxResults?: number; + /** + * Token value allowing to navigate to the next response page. + * @type {string} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + nextToken?: string; + /** + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + adGroupIdFilter?: ObjectIdFilter; + /** + * Setting to true will slow down performance because the API needs to retrieve extra information for each campaign. + * @type {boolean} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + includeExtendedDataFields?: boolean; + /** + * + * @type {NameFilter} + * @memberof ListSponsoredBrandsAdGroupsRequestContent + */ + nameFilter?: NameFilter; +} +/** + * + * @export + * @interface ListSponsoredBrandsAdGroupsResponseContent + */ +export interface ListSponsoredBrandsAdGroupsResponseContent { + /** + * The total number of entities. + * @type {number} + * @memberof ListSponsoredBrandsAdGroupsResponseContent + */ + totalResults?: number; + /** + * + * @type {Array} + * @memberof ListSponsoredBrandsAdGroupsResponseContent + */ + adGroups?: Array; + /** + * Token value allowing to navigate to the next response page. + * @type {string} + * @memberof ListSponsoredBrandsAdGroupsResponseContent + */ + nextToken?: string; } /** * * @export - * @interface ListSponsoredBrandsAdGroupsRequestContent + * @interface ListSponsoredBrandsAdsBetaRequestContent */ -export interface ListSponsoredBrandsAdGroupsRequestContent { +export interface ListSponsoredBrandsAdsBetaRequestContent { /** * * @type {ObjectIdFilter} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ campaignIdFilter?: ObjectIdFilter; /** * * @type {EntityStateFilter} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ stateFilter?: EntityStateFilter; /** * Number of records to include in the paginated response. Defaults to max page size for given API. * @type {number} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ maxResults?: number; /** * Token value allowing to navigate to the next response page. * @type {string} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ nextToken?: string; /** * * @type {ObjectIdFilter} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ - adGroupIdFilter?: ObjectIdFilter; + adIdFilter?: ObjectIdFilter; /** - * Setting to true will slow down performance because the API needs to retrieve extra information for each campaign. - * @type {boolean} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ - includeExtendedDataFields?: boolean; + adGroupIdFilter?: ObjectIdFilter; /** * * @type {NameFilter} - * @memberof ListSponsoredBrandsAdGroupsRequestContent + * @memberof ListSponsoredBrandsAdsBetaRequestContent */ nameFilter?: NameFilter; } /** * * @export - * @interface ListSponsoredBrandsAdGroupsResponseContent + * @interface ListSponsoredBrandsAdsBetaResponseContent */ -export interface ListSponsoredBrandsAdGroupsResponseContent { +export interface ListSponsoredBrandsAdsBetaResponseContent { + /** + * + * @type {Array} + * @memberof ListSponsoredBrandsAdsBetaResponseContent + */ + ads?: Array; /** * The total number of entities. * @type {number} - * @memberof ListSponsoredBrandsAdGroupsResponseContent + * @memberof ListSponsoredBrandsAdsBetaResponseContent */ totalResults?: number; - /** - * - * @type {Array} - * @memberof ListSponsoredBrandsAdGroupsResponseContent - */ - adGroups?: Array; /** * Token value allowing to navigate to the next response page. * @type {string} - * @memberof ListSponsoredBrandsAdGroupsResponseContent + * @memberof ListSponsoredBrandsAdsBetaResponseContent */ nextToken?: string; } @@ -4334,6 +5451,86 @@ export interface ListSponsoredBrandsAdsResponseContent { */ nextToken?: string; } +/** + * + * @export + * @interface ListSponsoredBrandsCampaignsBetaRequestContent + */ +export interface ListSponsoredBrandsCampaignsBetaRequestContent { + /** + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + campaignIdFilter?: ObjectIdFilter; + /** + * + * @type {ObjectIdFilter} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + portfolioIdFilter?: ObjectIdFilter; + /** + * + * @type {EntityStateFilter} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + stateFilter?: EntityStateFilter; + /** + * Number of records to include in the paginated response. Defaults to max page size for given API. + * @type {number} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + maxResults?: number; + /** + * Token value allowing to navigate to the next response page. + * @type {string} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + nextToken?: string; + /** + * Setting to true will slow down performance because the API needs to retrieve extra information for each campaign. + * @type {boolean} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + includeExtendedDataFields?: boolean; + /** + * + * @type {NameFilter} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + nameFilter?: NameFilter; + /** + * + * @type {OutcomeTypeFilter} + * @memberof ListSponsoredBrandsCampaignsBetaRequestContent + */ + outcomeTypeFilter?: OutcomeTypeFilter; +} +/** + * + * @export + * @interface ListSponsoredBrandsCampaignsBetaResponseContent + */ +export interface ListSponsoredBrandsCampaignsBetaResponseContent { + /** + * + * @type {Array} + * @memberof ListSponsoredBrandsCampaignsBetaResponseContent + */ + campaigns?: Array; + /** + * Token value allowing to navigate to the next response page. + * @type {string} + * @memberof ListSponsoredBrandsCampaignsBetaResponseContent + */ + nextToken?: string; + /** + * The total number of entities. + * @type {number} + * @memberof ListSponsoredBrandsCampaignsBetaResponseContent + */ + totalCount?: number; +} /** * * @export @@ -4382,6 +5579,12 @@ export interface ListSponsoredBrandsCampaignsRequestContent { * @memberof ListSponsoredBrandsCampaignsRequestContent */ nameFilter?: NameFilter; + /** + * + * @type {OutcomeTypeFilter} + * @memberof ListSponsoredBrandsCampaignsRequestContent + */ + outcomeTypeFilter?: OutcomeTypeFilter; } /** * @@ -4409,15 +5612,59 @@ export interface ListSponsoredBrandsCampaignsResponseContent { totalCount?: number; } /** - * The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center. + * + * @export + * @interface ListThemesRequestContent + */ +export interface ListThemesRequestContent { + /** + * Optional. The max limit for the number of themes it can return. + * @type {number} + * @memberof ListThemesRequestContent + */ + maxResults?: number; + /** + * Optional. The pagination token to retrieve the next page of results. + * @type {string} + * @memberof ListThemesRequestContent + */ + nextToken?: string; +} +/** + * + * @export + * @interface ListThemesResponseContent + */ +export interface ListThemesResponseContent { + /** + * List of themes + * @type {Array} + * @memberof ListThemesResponseContent + */ + themes?: Array; + /** + * If nextToken is not null, it means there are more results. + * @type {string} + * @memberof ListThemesResponseContent + */ + nextToken?: string; + /** + * + * @type {number} + * @memberof ListThemesResponseContent + */ + totalCount?: number; +} +/** + * Media type for assets from Asset Library * @export * @enum {string} */ -export enum MatchType { - Exact = 'exact', - Phrase = 'phrase', - Broad = 'broad' +export enum MediaType { + Jpeg = 'image/jpeg', + Png = 'image/png', + Gif = 'image/gif' } /** @@ -4717,107 +5964,114 @@ export enum ModerationStatus { } /** - * Filter entities by name. + * * @export - * @interface NameFilter + * @interface MultiAdGroupAd */ -export interface NameFilter { +export interface MultiAdGroupAd { + /** + * The ad identifier. + * @type {string} + * @memberof MultiAdGroupAd + */ + adId: string; + /** + * The campaign identifier. + * @type {string} + * @memberof MultiAdGroupAd + */ + campaignId: string; /** * - * @type {QueryTermMatchType} - * @memberof NameFilter + * @type {LandingPage} + * @memberof MultiAdGroupAd */ - queryTermMatchType?: QueryTermMatchType; + landingPage?: LandingPage; + /** + * The name of the ad. + * @type {string} + * @memberof MultiAdGroupAd + */ + name: string; /** * - * @type {Array} - * @memberof NameFilter + * @type {EntityState} + * @memberof MultiAdGroupAd */ - include?: Array; + state: EntityState; + /** + * The adGroup identifier. + * @type {string} + * @memberof MultiAdGroupAd + */ + adGroupId: string; + /** + * + * @type {Creative} + * @memberof MultiAdGroupAd + */ + creative?: Creative; + /** + * + * @type {AdExtendedData} + * @memberof MultiAdGroupAd + */ + extendedData?: AdExtendedData; } /** - * Negative keyword associated with the campaign. + * Filter entities by name. * @export - * @interface NegativeKeyword + * @interface NameFilter */ -export interface NegativeKeyword { +export interface NameFilter { /** * - * @type {NegativeMatchType} - * @memberof NegativeKeyword + * @type {QueryTermMatchType} + * @memberof NameFilter */ - matchType?: NegativeMatchType; + queryTermMatchType?: QueryTermMatchType; /** - * The keyword text. Maximum of 10 words. - * @type {string} - * @memberof NegativeKeyword + * + * @type {Array} + * @memberof NameFilter */ - keywordText?: string; + include?: Array; } /** - * The negative match type. For more information, see [negative keyword match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center. + * * @export * @enum {string} */ -export enum NegativeMatchType { - NegativeExact = 'negativeExact', - NegativePhrase = 'negativePhrase' +export enum NotFoundErrorCode { + NotFound = 'NOT_FOUND' } /** - * Negative expression settings for the target. + * * @export - * @interface NegativeProductExpression + * @interface NotFoundErrorResponseContent */ -export interface NegativeProductExpression { +export interface NotFoundErrorResponseContent { /** * - * @type {NegativeProductExpressionType} - * @memberof NegativeProductExpression + * @type {NotFoundErrorCode} + * @memberof NotFoundErrorResponseContent */ - type?: NegativeProductExpressionType; + code: NotFoundErrorCode; /** - * The expression value associated with targets. + * * @type {string} - * @memberof NegativeProductExpression + * @memberof NotFoundErrorResponseContent */ - value?: string; -} -/** - * The negative expression type associated with the target. - * @export - * @enum {string} - */ - -export enum NegativeProductExpressionType { - AsinBrandSameAs = 'asinBrandSameAs', - AsinSameAs = 'asinSameAs' -} - -/** - * The negative target associated with the ad group. - * @export - * @interface NegativeProductTarget - */ -export interface NegativeProductTarget { + requestId: string; /** * - * @type {Array} - * @memberof NegativeProductTarget + * @type {string} + * @memberof NotFoundErrorResponseContent */ - expressions?: Array; -} -/** - * - * @export - * @enum {string} - */ - -export enum NotFoundErrorCode { - NotFound = 'NOT_FOUND' + message: string; } - /** * * @export @@ -4875,6 +6129,19 @@ export interface OtherError { */ message: string; } +/** + * Filter entities by outcome type. + * @export + * @interface OutcomeTypeFilter + */ +export interface OutcomeTypeFilter { + /** + * + * @type {Array} + * @memberof OutcomeTypeFilter + */ + include?: Array; +} /** * * @export @@ -4945,6 +6212,8 @@ export enum PerformanceMetric { */ export enum PerformanceMetricForSB { + Is = 'IS', + Ntb = 'NTB', Roas = 'ROAS' } @@ -5272,44 +6541,7 @@ export interface ProductCollectionCreative { headline: string; } /** - * Expression settings for the target. - * @export - * @interface ProductExpression - */ -export interface ProductExpression { - /** - * - * @type {ProductExpressionType} - * @memberof ProductExpression - */ - type?: ProductExpressionType; - /** - * The expression value associated with targets. - * @type {string} - * @memberof ProductExpression - */ - value?: string; -} -/** - * The expression type associated with the target. - * @export - * @enum {string} - */ - -export enum ProductExpressionType { - AsinCategorySameAs = 'asinCategorySameAs', - AsinBrandSameAs = 'asinBrandSameAs', - AsinPriceLessThan = 'asinPriceLessThan', - AsinPriceBetween = 'asinPriceBetween', - AsinPriceGreaterThan = 'asinPriceGreaterThan', - AsinReviewRatingLessThan = 'asinReviewRatingLessThan', - AsinReviewRatingBetween = 'asinReviewRatingBetween', - AsinReviewRatingGreaterThan = 'asinReviewRatingGreaterThan', - AsinSameAs = 'asinSameAs' -} - -/** - * The product location of the campaign. - SOLD_ON_AMAZON - For products sold on Amazon websites. - NOT_SOLD_ON_AMAZON - For products not sold on Amazon websites. - SOLD_ON_DTC - For products sold on DTC websites. + * The product location of the campaign. - SOLD_ON_AMAZON - For products sold on Amazon websites. - NOT_SOLD_ON_AMAZON - For products not sold on Amazon websites. - SOLD_ON_DTC - Deprecated (For products sold on DTC websites). * @export * @enum {string} */ @@ -5321,24 +6553,21 @@ export enum ProductLocation { } /** - * The target associated with the ad group. `expressions` must contain at least one of `ASIN_CATEGORY_SAME_AS`, `ASIN_BRAND_SAME_AS`, or `ASIN_SAME_AS`. Only `ASIN_CATEGORY_SAME_AS` expression may be grouped with other options. + * Asset program type * @export - * @interface ProductTarget - */ -export interface ProductTarget { - /** - * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). - * @type {number} - * @memberof ProductTarget - */ - bid?: number; - /** - * - * @type {Array} - * @memberof ProductTarget - */ - expressions?: Array; + * @enum {string} + */ + +export enum ProgramType { + APlus = 'A_PLUS', + Sb = 'SB', + Posts = 'POSTS', + Stores = 'STORES', + BbbStores = 'BBB_STORES', + AmazonDsp = 'AMAZON_DSP', + AmazonCreativeServices = 'AMAZON_CREATIVE_SERVICES' } + /** * Defines how would the string resource field (e.g. campaign name, ad group name) be matched with the query term in filter. * @export @@ -5471,25 +6700,6 @@ export enum RequiredRecommendationsTypeEnum { SecondaryHeadline = 'SECONDARY_HEADLINE' } -/** - * The campaign performance forecasts for the specified shopper segment. - * @export - * @interface ResponseOutput - */ -export interface ResponseOutput { - /** - * - * @type {ShopperSegmentType} - * @memberof ResponseOutput - */ - shopperSegment?: ShopperSegmentType; - /** - * - * @type {Forecasts} - * @memberof ResponseOutput - */ - forecasts?: Forecasts; -} /** * * @export @@ -5770,79 +6980,292 @@ export interface SBCampaignBudgetRule { */ ruleStatus?: string; } +/** + * + * @export + * @interface SBGetAssociatedCampaignsResponse + */ +export interface SBGetAssociatedCampaignsResponse { + /** + * A list of campaigns that are associated to this budget rule. + * @type {Array} + * @memberof SBGetAssociatedCampaignsResponse + */ + 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 SBGetAssociatedCampaignsResponse + */ + nextToken?: string; +} +/** + * Type of Ad format. + * @export + * @enum {string} + */ + +export enum SBInsightsAdFormat { + ProductCollection = 'PRODUCT_COLLECTION', + StoreSpotlight = 'STORE_SPOTLIGHT', + Video = 'VIDEO', + BrandVideo = 'BRAND_VIDEO' +} + /** * The ad group settings. * @export - * @interface SBForecastingAdGroup + * @interface SBInsightsAdGroup */ -export interface SBForecastingAdGroup { +export interface SBInsightsAdGroup { /** * - * @type {Array} - * @memberof SBForecastingAdGroup + * @type {Array} + * @memberof SBInsightsAdGroup */ - negativeKeywords?: Array; + keywords?: Array; /** * - * @type {Array} - * @memberof SBForecastingAdGroup + * @type {SBInsightsAdFormat} + * @memberof SBInsightsAdGroup + */ + adFormat: SBInsightsAdFormat; +} +/** + * Returns information about a BadRequestException. + * @export + * @interface SBInsightsBadRequestExceptionResponseContent + */ +export interface SBInsightsBadRequestExceptionResponseContent { + /** + * The HTTP status code of the response. + * @type {string} + * @memberof SBInsightsBadRequestExceptionResponseContent + */ + code: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof SBInsightsBadRequestExceptionResponseContent */ - bidAdjustments?: Array; + details: string; +} +/** + * + * @export + * @interface SBInsightsCampaignInsightsRequestContent + */ +export interface SBInsightsCampaignInsightsRequestContent { /** * - * @type {Array} - * @memberof SBForecastingAdGroup + * @type {Array} + * @memberof SBInsightsCampaignInsightsRequestContent */ - keywords?: Array; + adGroups: Array; +} +/** + * Response object for /sb/campaigns/insights containing a list of insights for the campaign. + * @export + * @interface SBInsightsCampaignInsightsResponseContent + */ +export interface SBInsightsCampaignInsightsResponseContent { /** * - * @type {CreativeType} - * @memberof SBForecastingAdGroup + * @type {Array} + * @memberof SBInsightsCampaignInsightsResponseContent */ - creativeType?: CreativeType; + insights?: Array; + /** + * Operations that return paginated results include a pagination token in this field. 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 SBInsightsCampaignInsightsResponseContent + */ + nextToken?: string; +} +/** + * Returns information about an InternalServerException. + * @export + * @interface SBInsightsInternalServerExceptionResponseContent + */ +export interface SBInsightsInternalServerExceptionResponseContent { + /** + * The HTTP status code of the response. + * @type {string} + * @memberof SBInsightsInternalServerExceptionResponseContent + */ + code: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof SBInsightsInternalServerExceptionResponseContent + */ + details: string; +} +/** + * Keyword associated with the campaign. + * @export + * @interface SBInsightsKeyword + */ +export interface SBInsightsKeyword { /** * - * @type {Array} - * @memberof SBForecastingAdGroup + * @type {SBInsightsMatchType} + * @memberof SBInsightsKeyword */ - negativeTargets?: Array; + matchType: SBInsightsMatchType; + /** + * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). + * @type {number} + * @memberof SBInsightsKeyword + */ + bid: number; + /** + * The keyword text. Maximum of 10 words. + * @type {string} + * @memberof SBInsightsKeyword + */ + keywordText: string; +} +/** + * Keyword alert insights associated with the selected keyword targets and bids. LOW_KEYWORD_TRAFFIC is provided if the keyword has very low traffic and is available in all marketplaces. LOW_BID is provided if the selected bid is low compared to the historical bids for this keyword and is only available in the following marketplaces: US, CA, MX, BR, UK, DE, FR, ES, IT, IN, AE, NL, SE, JP, AU, SG. + * @export + * @enum {string} + */ + +export enum SBInsightsKeywordAlertType { + KeywordTraffic = 'LOW_KEYWORD_TRAFFIC', + Bid = 'LOW_BID' +} + +/** + * Insights for keywords selected for targeting. + * @export + * @interface SBInsightsKeywordInsight + */ +export interface SBInsightsKeywordInsight { /** * - * @type {BidOptimizationStrategy} - * @memberof SBForecastingAdGroup + * @type {Array} + * @memberof SBInsightsKeywordInsight */ - bidOptimizationStrategy?: BidOptimizationStrategy; + alerts?: Array; + /** + * The account-level ad-attributed impression share for the search-term / keyword. Provides percentage share of all ad impressions the advertiser has for the keyword in the last 7 days. This metric helps advertisers identify potential opportunities based on their share of relevant keywords. This information is only available for keywords the advertiser targeted with ad impressions. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP. + * @type {number} + * @memberof SBInsightsKeywordInsight + */ + searchTermImpressionShare?: number; /** * - * @type {Array} - * @memberof SBForecastingAdGroup + * @type {SBInsightsMatchType} + * @memberof SBInsightsKeywordInsight + */ + matchType?: SBInsightsMatchType; + /** + * Correlates the ad group to the ad group array index specified in the request. Zero-based. + * @type {number} + * @memberof SBInsightsKeywordInsight + */ + adGroupIndex?: number; + /** + * The account-level ad-attributed impression rank for the search-term / keyword. Provides the [1:N] place the advertiser ranks among all advertisers for the keyword by ad impressions in a marketplace in the last 7 days. It tells an advertiser how many advertisers had higher share of ad impressions. This information is only available for keywords the advertiser targeted with ad impressions. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP. + * @type {number} + * @memberof SBInsightsKeywordInsight + */ + searchTermImpressionRank?: number; + /** + * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). + * @type {number} + * @memberof SBInsightsKeywordInsight + */ + bid?: number; + /** + * Correlates the keyword to the keyword array index specified in the request. Zero-based. + * @type {number} + * @memberof SBInsightsKeywordInsight */ - targets?: Array; + keywordIndex?: number; /** - * The ad group identifier. + * The keyword text. Maximum of 10 words. * @type {string} - * @memberof SBForecastingAdGroup + * @memberof SBInsightsKeywordInsight */ - adGroupId?: string; + keywordText?: string; } /** - * + * The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center. * @export - * @interface SBGetAssociatedCampaignsResponse + * @enum {string} */ -export interface SBGetAssociatedCampaignsResponse { + +export enum SBInsightsMatchType { + Exact = 'EXACT', + Phrase = 'PHRASE', + Broad = 'BROAD' +} + +/** + * @type SBInsightsObject + * @export + */ +export type SBInsightsObject = KeywordInsight; + +/** + * Returns information about a ThrottlingException. + * @export + * @interface SBInsightsThrottlingExceptionResponseContent + */ +export interface SBInsightsThrottlingExceptionResponseContent { /** - * A list of campaigns that are associated to this budget rule. - * @type {Array} - * @memberof SBGetAssociatedCampaignsResponse + * The HTTP status code of the response. + * @type {string} + * @memberof SBInsightsThrottlingExceptionResponseContent */ - associatedCampaigns?: Array; + code: string; /** - * 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. + * A human-readable description of the response. * @type {string} - * @memberof SBGetAssociatedCampaignsResponse + * @memberof SBInsightsThrottlingExceptionResponseContent */ - nextToken?: string; + details: string; +} +/** + * Returns information about an UnauthorizedException. + * @export + * @interface SBInsightsUnauthorizedExceptionResponseContent + */ +export interface SBInsightsUnauthorizedExceptionResponseContent { + /** + * The HTTP status code of the response. + * @type {string} + * @memberof SBInsightsUnauthorizedExceptionResponseContent + */ + code: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof SBInsightsUnauthorizedExceptionResponseContent + */ + details: string; +} +/** + * Returns information about an UnprocessableEntityException. + * @export + * @interface SBInsightsUnprocessableEntityExceptionResponseContent + */ +export interface SBInsightsUnprocessableEntityExceptionResponseContent { + /** + * The HTTP status code of the response. + * @type {string} + * @memberof SBInsightsUnprocessableEntityExceptionResponseContent + */ + code: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof SBInsightsUnprocessableEntityExceptionResponseContent + */ + details: string; } /** * Optional SB creative type used for generating static or video generated keyword recommendations. Inferred by asins if not included. |Identifier|Description|Recommendations| |----------|-----------|-----------| |PRODUCT_COLLECTION| Showcase multiple products within a branded shopping experience|Static| |AUTHOR_COLLECTION| Showcase books under your name that direct to your Book Brand landing page|Static| |STORE_SPOTLIGHT| Showcase your brand logo, headline, and up to 3 product categories or sub-pages|Static| |VIDEO| Display a video ad promoting a product that redirects to its landing page|Video| |BRAND_VIDEO| Display a branded video ad that redirects shoppers to your Brand Store landing page|Video|
@@ -5877,6 +7300,19 @@ export interface SBKeywordRecommendationError { */ details?: string; } +/** + * + * @export + * @interface SBKeywordRecommendationLandingPage + */ +export interface SBKeywordRecommendationLandingPage { + /** + * The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page. + * @type {string} + * @memberof SBKeywordRecommendationLandingPage + */ + url?: string; +} /** * The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center. * @export @@ -5931,37 +7367,124 @@ export interface SBKeywordRecommendationRequestAsin { * @export * @interface SBKeywordRecommendationRequestUrl */ -export interface SBKeywordRecommendationRequestUrl { +export interface SBKeywordRecommendationRequestUrl { + /** + * + * @type {SBKeywordRecommendationCreativeType} + * @memberof SBKeywordRecommendationRequestUrl + */ + creativeType?: SBKeywordRecommendationCreativeType; + /** + * Maximum number of suggestions to return. Max value is 1000. If not provided, default to 100. + * @type {number} + * @memberof SBKeywordRecommendationRequestUrl + */ + maxNumSuggestions?: number; + /** + * + * @type {Array} + * @memberof SBKeywordRecommendationRequestUrl + */ + creativeAsins?: Array; + /** + * Optional locale to request keyword suggestion translations. For example, to request Simplified Chinese translations in US, provide locale “zh_CN”. Response will include both keyword suggestions and their translations. Supported locales include: Simplified Chinese (locale: “zh_CN”) for US, UK and CA. English (locale: “en_GB”) for DE, FR, IT and ES. + * @type {string} + * @memberof SBKeywordRecommendationRequestUrl + */ + locale?: string; + /** + * The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page. + * @type {string} + * @memberof SBKeywordRecommendationRequestUrl + */ + url: string; +} +/** + * + * @export + * @interface SBKeywordRecommendationThemeKeyword + */ +export interface SBKeywordRecommendationThemeKeyword { + /** + * Unique ID for each recommendation. + * @type {string} + * @memberof SBKeywordRecommendationThemeKeyword + */ + recommendationId?: string; + /** + * Recommended keyword value. + * @type {string} + * @memberof SBKeywordRecommendationThemeKeyword + */ + value?: string; +} +/** + * + * @export + * @interface SBKeywordRecommendationThemeRequest + */ +export interface SBKeywordRecommendationThemeRequest { /** * - * @type {SBKeywordRecommendationCreativeType} - * @memberof SBKeywordRecommendationRequestUrl + * @type {Array} + * @memberof SBKeywordRecommendationThemeRequest */ - creativeType?: SBKeywordRecommendationCreativeType; + themes?: Array; /** - * Maximum number of suggestions to return. Max value is 1000. If not provided, default to 100. + * Maximum number of suggestions to return for each theme. Max value is 1000. If not provided, default to 100. * @type {number} - * @memberof SBKeywordRecommendationRequestUrl + * @memberof SBKeywordRecommendationThemeRequest */ maxNumSuggestions?: number; /** * - * @type {Array} - * @memberof SBKeywordRecommendationRequestUrl + * @type {Array} + * @memberof SBKeywordRecommendationThemeRequest */ - creativeAsins?: Array; + landingPages?: Array; +} +/** + * + * @export + * @interface SBKeywordRecommendationThemeSuggestion + */ +export interface SBKeywordRecommendationThemeSuggestion { /** - * Optional locale to request keyword suggestion translations. For example, to request Simplified Chinese translations in US, provide locale “zh_CN”. Response will include both keyword suggestions and their translations. Supported locales include: Simplified Chinese (locale: “zh_CN”) for US, UK and CA. English (locale: “en_GB”) for DE, FR, IT and ES. - * @type {string} - * @memberof SBKeywordRecommendationRequestUrl + * + * @type {Array} + * @memberof SBKeywordRecommendationThemeSuggestion */ - locale?: string; + keywords?: Array; /** - * The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page. - * @type {string} - * @memberof SBKeywordRecommendationRequestUrl + * + * @type {SBKeywordRecommendationThemeType} + * @memberof SBKeywordRecommendationThemeSuggestion */ - url: string; + type?: SBKeywordRecommendationThemeType; +} +/** + * Theme type for targeting. Used to get keyword recommendations for theme. + * @export + * @enum {string} + */ + +export enum SBKeywordRecommendationThemeType { + Brand = 'KEYWORDS_RELATED_TO_YOUR_BRAND', + LandingPages = 'KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES' +} + +/** + * + * @export + * @interface SBKeywordRecommendationThemes + */ +export interface SBKeywordRecommendationThemes { + /** + * + * @type {SBKeywordRecommendationThemeType} + * @memberof SBKeywordRecommendationThemes + */ + themeType?: SBKeywordRecommendationThemeType; } /** * A recommendation identifier that describes the suggested action for the recommendation. |Identifier|Description| |----------|-----------| |addKeyword|The suggested action is to add the keyword.|
@@ -5979,6 +7502,12 @@ export enum SBKeywordRecommendationType { * @interface SBKeywordSuggestion */ export interface SBKeywordSuggestion { + /** + * The account-level ad-attributed impression share for the search-term / keyword. Provides percentage share of all ad impressions the advertiser has for the keyword in the last 7 days. This metric helps advertisers identify potential opportunities based on their share of relevant keywords. + * @type {number} + * @memberof SBKeywordSuggestion + */ + searchTermImpressionShare?: number; /** * * @type {SBKeywordRecommendationMatchType} @@ -5991,6 +7520,12 @@ export interface SBKeywordSuggestion { * @memberof SBKeywordSuggestion */ translation?: string; + /** + * The account-level ad-attributed impression rank for the search-term / keyword. Provides the [1:N] place the advertiser ranks among all advertisers for the keyword by ad impressions in a marketplace in the last 7 days. It tells an advertiser how many advertisers had higher share of ad impressions. + * @type {number} + * @memberof SBKeywordSuggestion + */ + searchTermImpressionRank?: number; /** * Unique ID for each recommendation. * @type {string} @@ -6333,6 +7868,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 +7892,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 @@ -7240,16 +8775,6 @@ export enum ShopperSegment { NewToBrandPurchase = 'NEW_TO_BRAND_PURCHASE' } -/** - * The shopper segment type. - * @export - * @enum {string} - */ - -export enum ShopperSegmentType { - ShopperSegmentNewToBrandPurchase = 'shopperSegmentNewToBrandPurchase' -} - /** * The budget rule state. * @export @@ -7261,6 +8786,19 @@ export enum State { Paused = 'PAUSED' } +/** + * + * @export + * @interface StatusFilter + */ +export interface StatusFilter { + /** + * + * @type {Array} + * @memberof StatusFilter + */ + include?: Array; +} /** * * @export @@ -7317,6 +8855,63 @@ export interface StoreSpotlightCreative { */ headline: string; } +/** + * + * @export + * @interface SubmitImageTasksRequestContent + */ +export interface SubmitImageTasksRequestContent { + /** + * Advertiser provided information to generate AI images. Max size of the list is 4, each element will be executed as an individual image task + * @type {Array} + * @memberof SubmitImageTasksRequestContent + */ + imageTaskMetadataList?: Array; +} +/** + * + * @export + * @interface SubmitImageTasksResponseContent + */ +export interface SubmitImageTasksResponseContent { + /** + * + * @type {Array} + * @memberof SubmitImageTasksResponseContent + */ + submitted?: Array; + /** + * As per API First guidance, batch API should return a separate list for success and errors in the response. The success/submitted and error fields will indicate the status of submission, they don\'t mean the status of image generation task. Status code will be 207 for partial successful requests and all successful requests. A batchId that is used to track status multiple tasks if they are submitted in one batch request If none of the request is submitted successfully, batchId will be null + * @type {string} + * @memberof SubmitImageTasksResponseContent + */ + batchId?: string; + /** + * + * @type {Array} + * @memberof SubmitImageTasksResponseContent + */ + error?: Array; +} +/** + * + * @export + * @interface Submitted + */ +export interface Submitted { + /** + * The index of the image task in the array from the request body + * @type {number} + * @memberof Submitted + */ + index?: number; + /** + * The identifier of image generation task + * @type {string} + * @memberof Submitted + */ + taskId?: string; +} /** * * @export @@ -7361,6 +8956,19 @@ export interface SuggestedHeadline { */ headline?: string; } +/** + * + * @export + * @interface TaskIdFilter + */ +export interface TaskIdFilter { + /** + * + * @type {Array} + * @memberof TaskIdFilter + */ + include?: Array; +} /** * Text component which needs to be pre moderated * @export @@ -7584,6 +9192,25 @@ export interface TextRecommendation { */ value?: string; } +/** + * Structure for theme details + * @export + * @interface Theme + */ +export interface Theme { + /** + * + * @type {string} + * @memberof Theme + */ + themeForDisplay: string; + /** + * + * @type {string} + * @memberof Theme + */ + themeId: string; +} /** * * @export @@ -7604,6 +9231,31 @@ export enum ThrottlingErrorCode { Throttled = 'THROTTLED' } +/** + * + * @export + * @interface ThrottlingErrorResponseContent + */ +export interface ThrottlingErrorResponseContent { + /** + * + * @type {ThrottlingErrorCode} + * @memberof ThrottlingErrorResponseContent + */ + code: ThrottlingErrorCode; + /** + * + * @type {string} + * @memberof ThrottlingErrorResponseContent + */ + requestId: string; + /** + * + * @type {string} + * @memberof ThrottlingErrorResponseContent + */ + message: string; +} /** * * @export @@ -7633,6 +9285,31 @@ export enum UnauthorizedErrorCode { Unauthorized = 'UNAUTHORIZED' } +/** + * + * @export + * @interface UnauthorizedErrorResponseContent + */ +export interface UnauthorizedErrorResponseContent { + /** + * + * @type {UnauthorizedErrorCode} + * @memberof UnauthorizedErrorResponseContent + */ + code: UnauthorizedErrorCode; + /** + * + * @type {string} + * @memberof UnauthorizedErrorResponseContent + */ + requestId: string; + /** + * + * @type {string} + * @memberof UnauthorizedErrorResponseContent + */ + message: string; +} /** * * @export @@ -7741,11 +9418,11 @@ export interface UpdateBudgetRulesResponse { */ export interface UpdateCampaign { /** - * The identifier of an existing portfolio to which the campaign is associated. + * The identifier of the campaign. The identifier of an existing portfolio to which the campaign is associated. * @type {string} * @memberof UpdateCampaign */ - portfolioId?: string; + portfolioId?: string | null; /** * * @type {Bidding} @@ -7757,7 +9434,7 @@ export interface UpdateCampaign { * @type {string} * @memberof UpdateCampaign */ - endDate?: string; + endDate?: string | null; /** * Entity object identifier. * @type {string} @@ -7834,6 +9511,32 @@ export interface UpdateSPBudgetRulesRequest { */ budgetRulesDetails?: Array; } +/** + * + * @export + * @interface UpdateSponsoredBrandsAdGroupsBetaRequestContent + */ +export interface UpdateSponsoredBrandsAdGroupsBetaRequestContent { + /** + * + * @type {Array} + * @memberof UpdateSponsoredBrandsAdGroupsBetaRequestContent + */ + adGroups: Array; +} +/** + * + * @export + * @interface UpdateSponsoredBrandsAdGroupsBetaResponseContent + */ +export interface UpdateSponsoredBrandsAdGroupsBetaResponseContent { + /** + * + * @type {BulkAdGroupOperationResponse} + * @memberof UpdateSponsoredBrandsAdGroupsBetaResponseContent + */ + adGroups?: BulkAdGroupOperationResponse; +} /** * * @export @@ -7860,6 +9563,32 @@ export interface UpdateSponsoredBrandsAdGroupsResponseContent { */ adGroups?: BulkAdGroupOperationResponse; } +/** + * + * @export + * @interface UpdateSponsoredBrandsAdsBetaRequestContent + */ +export interface UpdateSponsoredBrandsAdsBetaRequestContent { + /** + * + * @type {Array} + * @memberof UpdateSponsoredBrandsAdsBetaRequestContent + */ + ads: Array; +} +/** + * + * @export + * @interface UpdateSponsoredBrandsAdsBetaResponseContent + */ +export interface UpdateSponsoredBrandsAdsBetaResponseContent { + /** + * + * @type {BulkAdOperationResponse} + * @memberof UpdateSponsoredBrandsAdsBetaResponseContent + */ + ads?: BulkAdOperationResponse; +} /** * * @export @@ -7889,47 +9618,54 @@ export interface UpdateSponsoredBrandsAdsResponseContent { /** * * @export - * @interface UpdateSponsoredBrandsCampaignsRequestContent + * @interface UpdateSponsoredBrandsCampaignsBetaRequestContent */ -export interface UpdateSponsoredBrandsCampaignsRequestContent { +export interface UpdateSponsoredBrandsCampaignsBetaRequestContent { /** * * @type {Array} - * @memberof UpdateSponsoredBrandsCampaignsRequestContent + * @memberof UpdateSponsoredBrandsCampaignsBetaRequestContent */ campaigns: Array; } /** * * @export - * @interface UpdateSponsoredBrandsCampaignsResponseContent + * @interface UpdateSponsoredBrandsCampaignsBetaResponseContent */ -export interface UpdateSponsoredBrandsCampaignsResponseContent { +export interface UpdateSponsoredBrandsCampaignsBetaResponseContent { /** * * @type {BulkCampaignOperationResponse} - * @memberof UpdateSponsoredBrandsCampaignsResponseContent + * @memberof UpdateSponsoredBrandsCampaignsBetaResponseContent */ campaigns?: BulkCampaignOperationResponse; } /** * * @export - * @interface ValidationExceptionResponseContent + * @interface UpdateSponsoredBrandsCampaignsRequestContent */ -export interface ValidationExceptionResponseContent { +export interface UpdateSponsoredBrandsCampaignsRequestContent { /** * - * @type {InvalidArgumentErrorCode} - * @memberof ValidationExceptionResponseContent + * @type {Array} + * @memberof UpdateSponsoredBrandsCampaignsRequestContent */ - code: InvalidArgumentErrorCode; + campaigns: Array; +} +/** + * + * @export + * @interface UpdateSponsoredBrandsCampaignsResponseContent + */ +export interface UpdateSponsoredBrandsCampaignsResponseContent { /** - * Human readable error message. - * @type {string} - * @memberof ValidationExceptionResponseContent + * + * @type {BulkCampaignOperationResponse} + * @memberof UpdateSponsoredBrandsCampaignsResponseContent */ - message: string; + campaigns?: BulkCampaignOperationResponse; } /** * Video component which needs to be pre moderated. A publicly accessible videoUrl must be sent. @@ -8042,7 +9778,13 @@ export enum VideoComponentResponseComponentTypeEnum { */ export interface VideoCreative { /** - * An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API. + * If set to true and video asset is not in the marketplace\'s default language, Amazon will attempt to translate the video to the marketplace\'s default language. If Amazon is unable to translate it, the ad will be rejected by moderation. We only support translating videos from English to German, French, Italian, and Spanish. See developer notes for more information. + * @type {boolean} + * @memberof VideoCreative + */ + consentToTranslate?: boolean; + /** + * The assetIds of the original videos submitted by the advertiser. If \'consentToTranslate\' is set to true and translation is SUCCESSFUL then \'videoAssetIds\' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId. * @type {Array} * @memberof VideoCreative */ @@ -8294,16 +10036,18 @@ export const AdCreativesApiAxiosParamCreator = function (configuration?: Configu return { /** * This API creates a new version of an existing creative for given [Sponsored Brands Brand Video Ad](https://devportal-internal-beta.demand-tools.advertising.a2z.com/API/docs/en-us/sponsored-brands-beta-1p#/Ads/CreateSponsoredBrandsBrandVideoAds) by supplying brand video creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateBrandVideoCreativeRequestContent} createBrandVideoCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createBrandVideoCreative: async (amazonAdvertisingAPIClientId: string, createBrandVideoCreativeRequestContent: CreateBrandVideoCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options: any = {}): Promise => { + createBrandVideoCreative: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createBrandVideoCreativeRequestContent: CreateBrandVideoCreativeRequestContent, accept?: AcceptHeader, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('createBrandVideoCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('createBrandVideoCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createBrandVideoCreativeRequestContent' is not null or undefined assertParamExists('createBrandVideoCreative', 'createBrandVideoCreativeRequestContent', createBrandVideoCreativeRequestContent) const localVarPath = `/sb/ads/creatives/brandVideo`; @@ -8346,16 +10090,18 @@ export const AdCreativesApiAxiosParamCreator = function (configuration?: Configu }, /** * This API creates a new version of creative for given Sponsored Brands ad by supplying product collection creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateProductCollectionCreativeRequestContent} createProductCollectionCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createProductCollectionCreative: async (amazonAdvertisingAPIClientId: string, createProductCollectionCreativeRequestContent: CreateProductCollectionCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options: any = {}): Promise => { + createProductCollectionCreative: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createProductCollectionCreativeRequestContent: CreateProductCollectionCreativeRequestContent, accept?: AcceptHeader, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('createProductCollectionCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('createProductCollectionCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createProductCollectionCreativeRequestContent' is not null or undefined assertParamExists('createProductCollectionCreative', 'createProductCollectionCreativeRequestContent', createProductCollectionCreativeRequestContent) const localVarPath = `/sb/ads/creatives/productCollection`; @@ -8398,16 +10144,18 @@ export const AdCreativesApiAxiosParamCreator = function (configuration?: Configu }, /** * This API creates a new version of creative for given Sponsored Brands ad by supplying store spotlight creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateStoreSpotlightCreativeRequestContent} createStoreSpotlightCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createStoreSpotlightCreative: async (amazonAdvertisingAPIClientId: string, createStoreSpotlightCreativeRequestContent: CreateStoreSpotlightCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options: any = {}): Promise => { + createStoreSpotlightCreative: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createStoreSpotlightCreativeRequestContent: CreateStoreSpotlightCreativeRequestContent, accept?: AcceptHeader, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('createStoreSpotlightCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('createStoreSpotlightCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createStoreSpotlightCreativeRequestContent' is not null or undefined assertParamExists('createStoreSpotlightCreative', 'createStoreSpotlightCreativeRequestContent', createStoreSpotlightCreativeRequestContent) const localVarPath = `/sb/ads/creatives/storeSpotlight`; @@ -8450,16 +10198,18 @@ export const AdCreativesApiAxiosParamCreator = function (configuration?: Configu }, /** * This API creates a new version of an existing creative for given Sponsored Brands ad by supplying video creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateVideoCreativeRequestContent} createVideoCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createVideoCreative: async (amazonAdvertisingAPIClientId: string, createVideoCreativeRequestContent: CreateVideoCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options: any = {}): Promise => { + createVideoCreative: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createVideoCreativeRequestContent: CreateVideoCreativeRequestContent, accept?: AcceptHeader, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('createVideoCreative', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('createVideoCreative', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createVideoCreativeRequestContent' is not null or undefined assertParamExists('createVideoCreative', 'createVideoCreativeRequestContent', createVideoCreativeRequestContent) const localVarPath = `/sb/ads/creatives/video`; @@ -8502,16 +10252,18 @@ export const AdCreativesApiAxiosParamCreator = function (configuration?: Configu }, /** * This API gets an array of all Sponsored Brands creatives that qualify the given resource identifiers and filters **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {ListCreativesRequestContent} listCreativesRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - listCreatives: async (amazonAdvertisingAPIClientId: string, listCreativesRequestContent: ListCreativesRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options: any = {}): Promise => { + listCreatives: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, listCreativesRequestContent: ListCreativesRequestContent, accept?: AcceptHeader, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('listCreatives', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('listCreatives', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'listCreativesRequestContent' is not null or undefined assertParamExists('listCreatives', 'listCreativesRequestContent', listCreativesRequestContent) const localVarPath = `/sb/ads/creatives/list`; @@ -8564,67 +10316,67 @@ export const AdCreativesApiFp = function(configuration?: Configuration) { return { /** * This API creates a new version of an existing creative for given [Sponsored Brands Brand Video Ad](https://devportal-internal-beta.demand-tools.advertising.a2z.com/API/docs/en-us/sponsored-brands-beta-1p#/Ads/CreateSponsoredBrandsBrandVideoAds) by supplying brand video creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateBrandVideoCreativeRequestContent} createBrandVideoCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async createBrandVideoCreative(amazonAdvertisingAPIClientId: string, createBrandVideoCreativeRequestContent: CreateBrandVideoCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createBrandVideoCreative(amazonAdvertisingAPIClientId, createBrandVideoCreativeRequestContent, accept, amazonAdvertisingAPIScope, options); + async createBrandVideoCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createBrandVideoCreativeRequestContent: CreateBrandVideoCreativeRequestContent, accept?: AcceptHeader, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createBrandVideoCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createBrandVideoCreativeRequestContent, accept, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This API creates a new version of creative for given Sponsored Brands ad by supplying product collection creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateProductCollectionCreativeRequestContent} createProductCollectionCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async createProductCollectionCreative(amazonAdvertisingAPIClientId: string, createProductCollectionCreativeRequestContent: CreateProductCollectionCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createProductCollectionCreative(amazonAdvertisingAPIClientId, createProductCollectionCreativeRequestContent, accept, amazonAdvertisingAPIScope, options); + async createProductCollectionCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createProductCollectionCreativeRequestContent: CreateProductCollectionCreativeRequestContent, accept?: AcceptHeader, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createProductCollectionCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createProductCollectionCreativeRequestContent, accept, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This API creates a new version of creative for given Sponsored Brands ad by supplying store spotlight creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateStoreSpotlightCreativeRequestContent} createStoreSpotlightCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async createStoreSpotlightCreative(amazonAdvertisingAPIClientId: string, createStoreSpotlightCreativeRequestContent: CreateStoreSpotlightCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createStoreSpotlightCreative(amazonAdvertisingAPIClientId, createStoreSpotlightCreativeRequestContent, accept, amazonAdvertisingAPIScope, options); + async createStoreSpotlightCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createStoreSpotlightCreativeRequestContent: CreateStoreSpotlightCreativeRequestContent, accept?: AcceptHeader, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createStoreSpotlightCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createStoreSpotlightCreativeRequestContent, accept, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This API creates a new version of an existing creative for given Sponsored Brands ad by supplying video creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateVideoCreativeRequestContent} createVideoCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async createVideoCreative(amazonAdvertisingAPIClientId: string, createVideoCreativeRequestContent: CreateVideoCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createVideoCreative(amazonAdvertisingAPIClientId, createVideoCreativeRequestContent, accept, amazonAdvertisingAPIScope, options); + async createVideoCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createVideoCreativeRequestContent: CreateVideoCreativeRequestContent, accept?: AcceptHeader, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createVideoCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createVideoCreativeRequestContent, accept, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This API gets an array of all Sponsored Brands creatives that qualify the given resource identifiers and filters **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {ListCreativesRequestContent} listCreativesRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async listCreatives(amazonAdvertisingAPIClientId: string, listCreativesRequestContent: ListCreativesRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listCreatives(amazonAdvertisingAPIClientId, listCreativesRequestContent, accept, amazonAdvertisingAPIScope, options); + async listCreatives(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, listCreativesRequestContent: ListCreativesRequestContent, accept?: AcceptHeader, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listCreatives(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, listCreativesRequestContent, accept, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } @@ -8639,63 +10391,63 @@ export const AdCreativesApiFactory = function (configuration?: Configuration, ba return { /** * This API creates a new version of an existing creative for given [Sponsored Brands Brand Video Ad](https://devportal-internal-beta.demand-tools.advertising.a2z.com/API/docs/en-us/sponsored-brands-beta-1p#/Ads/CreateSponsoredBrandsBrandVideoAds) by supplying brand video creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateBrandVideoCreativeRequestContent} createBrandVideoCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createBrandVideoCreative(amazonAdvertisingAPIClientId: string, createBrandVideoCreativeRequestContent: CreateBrandVideoCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): AxiosPromise { - return localVarFp.createBrandVideoCreative(amazonAdvertisingAPIClientId, createBrandVideoCreativeRequestContent, accept, amazonAdvertisingAPIScope, options).then((request) => request(axios, basePath)); + createBrandVideoCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createBrandVideoCreativeRequestContent: CreateBrandVideoCreativeRequestContent, accept?: AcceptHeader, options?: any): AxiosPromise { + return localVarFp.createBrandVideoCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createBrandVideoCreativeRequestContent, accept, options).then((request) => request(axios, basePath)); }, /** * This API creates a new version of creative for given Sponsored Brands ad by supplying product collection creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateProductCollectionCreativeRequestContent} createProductCollectionCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createProductCollectionCreative(amazonAdvertisingAPIClientId: string, createProductCollectionCreativeRequestContent: CreateProductCollectionCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): AxiosPromise { - return localVarFp.createProductCollectionCreative(amazonAdvertisingAPIClientId, createProductCollectionCreativeRequestContent, accept, amazonAdvertisingAPIScope, options).then((request) => request(axios, basePath)); + createProductCollectionCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createProductCollectionCreativeRequestContent: CreateProductCollectionCreativeRequestContent, accept?: AcceptHeader, options?: any): AxiosPromise { + return localVarFp.createProductCollectionCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createProductCollectionCreativeRequestContent, accept, options).then((request) => request(axios, basePath)); }, /** * This API creates a new version of creative for given Sponsored Brands ad by supplying store spotlight creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateStoreSpotlightCreativeRequestContent} createStoreSpotlightCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createStoreSpotlightCreative(amazonAdvertisingAPIClientId: string, createStoreSpotlightCreativeRequestContent: CreateStoreSpotlightCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): AxiosPromise { - return localVarFp.createStoreSpotlightCreative(amazonAdvertisingAPIClientId, createStoreSpotlightCreativeRequestContent, accept, amazonAdvertisingAPIScope, options).then((request) => request(axios, basePath)); + createStoreSpotlightCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createStoreSpotlightCreativeRequestContent: CreateStoreSpotlightCreativeRequestContent, accept?: AcceptHeader, options?: any): AxiosPromise { + return localVarFp.createStoreSpotlightCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createStoreSpotlightCreativeRequestContent, accept, options).then((request) => request(axios, basePath)); }, /** * This API creates a new version of an existing creative for given Sponsored Brands ad by supplying video creative content **Requires one of these permissions**: [\"advertiser_campaign_edit\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {CreateVideoCreativeRequestContent} createVideoCreativeRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createVideoCreative(amazonAdvertisingAPIClientId: string, createVideoCreativeRequestContent: CreateVideoCreativeRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): AxiosPromise { - return localVarFp.createVideoCreative(amazonAdvertisingAPIClientId, createVideoCreativeRequestContent, accept, amazonAdvertisingAPIScope, options).then((request) => request(axios, basePath)); + createVideoCreative(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createVideoCreativeRequestContent: CreateVideoCreativeRequestContent, accept?: AcceptHeader, options?: any): AxiosPromise { + return localVarFp.createVideoCreative(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createVideoCreativeRequestContent, accept, options).then((request) => request(axios, basePath)); }, /** * This API gets an array of all Sponsored Brands creatives that qualify the given resource identifiers and filters **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @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} amazonAdvertisingAPIClientId ----------------------------------------------- Simple types ----------------------------------------------- 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 and use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {ListCreativesRequestContent} listCreativesRequestContent * @param {AcceptHeader} [accept] Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type. - * @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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - listCreatives(amazonAdvertisingAPIClientId: string, listCreativesRequestContent: ListCreativesRequestContent, accept?: AcceptHeader, amazonAdvertisingAPIScope?: string, options?: any): AxiosPromise { - return localVarFp.listCreatives(amazonAdvertisingAPIClientId, listCreativesRequestContent, accept, amazonAdvertisingAPIScope, options).then((request) => request(axios, basePath)); + listCreatives(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, listCreativesRequestContent: ListCreativesRequestContent, accept?: AcceptHeader, options?: any): AxiosPromise { + return localVarFp.listCreatives(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, listCreativesRequestContent, accept, options).then((request) => request(axios, basePath)); }, }; }; @@ -8707,12 +10459,19 @@ export const AdCreativesApiFactory = function (configuration?: Configuration, ba */ export interface AdCreativesApiCreateBrandVideoCreativeRequest { /** - * 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. + * ----------------------------------------------- Simple types ----------------------------------------------- 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 AdCreativesApiCreateBrandVideoCreative */ 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. + * @type {string} + * @memberof AdCreativesApiCreateBrandVideoCreative + */ + readonly amazonAdvertisingAPIScope: string + /** * * @type {CreateBrandVideoCreativeRequestContent} @@ -8726,13 +10485,6 @@ export interface AdCreativesApiCreateBrandVideoCreativeRequest { * @memberof AdCreativesApiCreateBrandVideoCreative */ readonly accept?: AcceptHeader - - /** - * 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. - * @type {string} - * @memberof AdCreativesApiCreateBrandVideoCreative - */ - readonly amazonAdvertisingAPIScope?: string } /** @@ -8742,12 +10494,19 @@ export interface AdCreativesApiCreateBrandVideoCreativeRequest { */ export interface AdCreativesApiCreateProductCollectionCreativeRequest { /** - * 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. + * ----------------------------------------------- Simple types ----------------------------------------------- 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 AdCreativesApiCreateProductCollectionCreative */ 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. + * @type {string} + * @memberof AdCreativesApiCreateProductCollectionCreative + */ + readonly amazonAdvertisingAPIScope: string + /** * * @type {CreateProductCollectionCreativeRequestContent} @@ -8761,13 +10520,6 @@ export interface AdCreativesApiCreateProductCollectionCreativeRequest { * @memberof AdCreativesApiCreateProductCollectionCreative */ readonly accept?: AcceptHeader - - /** - * 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. - * @type {string} - * @memberof AdCreativesApiCreateProductCollectionCreative - */ - readonly amazonAdvertisingAPIScope?: string } /** @@ -8777,12 +10529,19 @@ export interface AdCreativesApiCreateProductCollectionCreativeRequest { */ export interface AdCreativesApiCreateStoreSpotlightCreativeRequest { /** - * 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. + * ----------------------------------------------- Simple types ----------------------------------------------- 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 AdCreativesApiCreateStoreSpotlightCreative */ 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. + * @type {string} + * @memberof AdCreativesApiCreateStoreSpotlightCreative + */ + readonly amazonAdvertisingAPIScope: string + /** * * @type {CreateStoreSpotlightCreativeRequestContent} @@ -8796,13 +10555,6 @@ export interface AdCreativesApiCreateStoreSpotlightCreativeRequest { * @memberof AdCreativesApiCreateStoreSpotlightCreative */ readonly accept?: AcceptHeader - - /** - * 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. - * @type {string} - * @memberof AdCreativesApiCreateStoreSpotlightCreative - */ - readonly amazonAdvertisingAPIScope?: string } /** @@ -8812,12 +10564,19 @@ export interface AdCreativesApiCreateStoreSpotlightCreativeRequest { */ export interface AdCreativesApiCreateVideoCreativeRequest { /** - * 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. + * ----------------------------------------------- Simple types ----------------------------------------------- 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 AdCreativesApiCreateVideoCreative */ 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. + * @type {string} + * @memberof AdCreativesApiCreateVideoCreative + */ + readonly amazonAdvertisingAPIScope: string + /** * * @type {CreateVideoCreativeRequestContent} @@ -8831,13 +10590,6 @@ export interface AdCreativesApiCreateVideoCreativeRequest { * @memberof AdCreativesApiCreateVideoCreative */ readonly accept?: AcceptHeader - - /** - * 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. - * @type {string} - * @memberof AdCreativesApiCreateVideoCreative - */ - readonly amazonAdvertisingAPIScope?: string } /** @@ -8847,12 +10599,19 @@ export interface AdCreativesApiCreateVideoCreativeRequest { */ export interface AdCreativesApiListCreativesRequest { /** - * 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. + * ----------------------------------------------- Simple types ----------------------------------------------- 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 AdCreativesApiListCreatives */ 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. + * @type {string} + * @memberof AdCreativesApiListCreatives + */ + readonly amazonAdvertisingAPIScope: string + /** * * @type {ListCreativesRequestContent} @@ -8866,13 +10625,6 @@ export interface AdCreativesApiListCreativesRequest { * @memberof AdCreativesApiListCreatives */ readonly accept?: AcceptHeader - - /** - * 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 use profileId from the response to pass as input. This is a required header for advertisers and integrators using the Advertising API. - * @type {string} - * @memberof AdCreativesApiListCreatives - */ - readonly amazonAdvertisingAPIScope?: string } /** @@ -8890,7 +10642,7 @@ export class AdCreativesApi extends BaseAPI { * @memberof AdCreativesApi */ public createBrandVideoCreative(requestParameters: AdCreativesApiCreateBrandVideoCreativeRequest, options?: any) { - return AdCreativesApiFp(this.configuration).createBrandVideoCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.createBrandVideoCreativeRequestContent, requestParameters.accept, requestParameters.amazonAdvertisingAPIScope, options).then((request) => request(this.axios, this.basePath)); + return AdCreativesApiFp(this.configuration).createBrandVideoCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.createBrandVideoCreativeRequestContent, requestParameters.accept, options).then((request) => request(this.axios, this.basePath)); } /** @@ -8901,7 +10653,7 @@ export class AdCreativesApi extends BaseAPI { * @memberof AdCreativesApi */ public createProductCollectionCreative(requestParameters: AdCreativesApiCreateProductCollectionCreativeRequest, options?: any) { - return AdCreativesApiFp(this.configuration).createProductCollectionCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.createProductCollectionCreativeRequestContent, requestParameters.accept, requestParameters.amazonAdvertisingAPIScope, options).then((request) => request(this.axios, this.basePath)); + return AdCreativesApiFp(this.configuration).createProductCollectionCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.createProductCollectionCreativeRequestContent, requestParameters.accept, options).then((request) => request(this.axios, this.basePath)); } /** @@ -8912,7 +10664,7 @@ export class AdCreativesApi extends BaseAPI { * @memberof AdCreativesApi */ public createStoreSpotlightCreative(requestParameters: AdCreativesApiCreateStoreSpotlightCreativeRequest, options?: any) { - return AdCreativesApiFp(this.configuration).createStoreSpotlightCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.createStoreSpotlightCreativeRequestContent, requestParameters.accept, requestParameters.amazonAdvertisingAPIScope, options).then((request) => request(this.axios, this.basePath)); + return AdCreativesApiFp(this.configuration).createStoreSpotlightCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.createStoreSpotlightCreativeRequestContent, requestParameters.accept, options).then((request) => request(this.axios, this.basePath)); } /** @@ -8923,7 +10675,7 @@ export class AdCreativesApi extends BaseAPI { * @memberof AdCreativesApi */ public createVideoCreative(requestParameters: AdCreativesApiCreateVideoCreativeRequest, options?: any) { - return AdCreativesApiFp(this.configuration).createVideoCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.createVideoCreativeRequestContent, requestParameters.accept, requestParameters.amazonAdvertisingAPIScope, options).then((request) => request(this.axios, this.basePath)); + return AdCreativesApiFp(this.configuration).createVideoCreative(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.createVideoCreativeRequestContent, requestParameters.accept, options).then((request) => request(this.axios, this.basePath)); } /** @@ -8934,7 +10686,7 @@ export class AdCreativesApi extends BaseAPI { * @memberof AdCreativesApi */ public listCreatives(requestParameters: AdCreativesApiListCreativesRequest, options?: any) { - return AdCreativesApiFp(this.configuration).listCreatives(requestParameters.amazonAdvertisingAPIClientId, requestParameters.listCreativesRequestContent, requestParameters.accept, requestParameters.amazonAdvertisingAPIScope, options).then((request) => request(this.axios, this.basePath)); + return AdCreativesApiFp(this.configuration).listCreatives(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.listCreativesRequestContent, requestParameters.accept, options).then((request) => request(this.axios, this.basePath)); } } @@ -8947,6 +10699,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat return { /** * Creates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands ad groups. * @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 {CreateSponsoredBrandsAdGroupsRequestContent} createSponsoredBrandsAdGroupsRequestContent @@ -8960,7 +10713,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat assertParamExists('createSponsoredBrandsAdGroups', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createSponsoredBrandsAdGroupsRequestContent' is not null or undefined assertParamExists('createSponsoredBrandsAdGroups', 'createSponsoredBrandsAdGroupsRequestContent', createSponsoredBrandsAdGroupsRequestContent) - const localVarPath = `/sb/beta/adGroups`; + const localVarPath = `/sb/v4/adGroups`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -8996,6 +10749,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat }, /** * Deletes Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ad groups. * @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 {DeleteSponsoredBrandsAdGroupsRequestContent} [deleteSponsoredBrandsAdGroupsRequestContent] @@ -9007,7 +10761,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat assertParamExists('deleteSponsoredBrandsAdGroups', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('deleteSponsoredBrandsAdGroups', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/sb/beta/adGroups/delete`; + const localVarPath = `/sb/v4/adGroups/delete`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9043,6 +10797,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat }, /** * Lists Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ad groups. * @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 {ListSponsoredBrandsAdGroupsRequestContent} [listSponsoredBrandsAdGroupsRequestContent] @@ -9054,7 +10809,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat assertParamExists('listSponsoredBrandsAdGroups', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('listSponsoredBrandsAdGroups', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/sb/beta/adGroups/list`; + const localVarPath = `/sb/v4/adGroups/list`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9090,6 +10845,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat }, /** * Updates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ad groups. * @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 {UpdateSponsoredBrandsAdGroupsRequestContent} updateSponsoredBrandsAdGroupsRequestContent @@ -9103,7 +10859,7 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat assertParamExists('updateSponsoredBrandsAdGroups', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'updateSponsoredBrandsAdGroupsRequestContent' is not null or undefined assertParamExists('updateSponsoredBrandsAdGroups', 'updateSponsoredBrandsAdGroupsRequestContent', updateSponsoredBrandsAdGroupsRequestContent) - const localVarPath = `/sb/beta/adGroups`; + const localVarPath = `/sb/v4/adGroups`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9149,6 +10905,7 @@ export const AdGroupsApiFp = function(configuration?: Configuration) { return { /** * Creates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands ad groups. * @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 {CreateSponsoredBrandsAdGroupsRequestContent} createSponsoredBrandsAdGroupsRequestContent @@ -9161,6 +10918,7 @@ export const AdGroupsApiFp = function(configuration?: Configuration) { }, /** * Deletes Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ad groups. * @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 {DeleteSponsoredBrandsAdGroupsRequestContent} [deleteSponsoredBrandsAdGroupsRequestContent] @@ -9173,6 +10931,7 @@ export const AdGroupsApiFp = function(configuration?: Configuration) { }, /** * Lists Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ad groups. * @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 {ListSponsoredBrandsAdGroupsRequestContent} [listSponsoredBrandsAdGroupsRequestContent] @@ -9185,6 +10944,7 @@ export const AdGroupsApiFp = function(configuration?: Configuration) { }, /** * Updates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ad groups. * @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 {UpdateSponsoredBrandsAdGroupsRequestContent} updateSponsoredBrandsAdGroupsRequestContent @@ -9207,6 +10967,7 @@ export const AdGroupsApiFactory = function (configuration?: Configuration, baseP return { /** * Creates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands ad groups. * @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 {CreateSponsoredBrandsAdGroupsRequestContent} createSponsoredBrandsAdGroupsRequestContent @@ -9218,6 +10979,7 @@ export const AdGroupsApiFactory = function (configuration?: Configuration, baseP }, /** * Deletes Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ad groups. * @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 {DeleteSponsoredBrandsAdGroupsRequestContent} [deleteSponsoredBrandsAdGroupsRequestContent] @@ -9229,6 +10991,7 @@ export const AdGroupsApiFactory = function (configuration?: Configuration, baseP }, /** * Lists Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ad groups. * @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 {ListSponsoredBrandsAdGroupsRequestContent} [listSponsoredBrandsAdGroupsRequestContent] @@ -9240,6 +11003,7 @@ export const AdGroupsApiFactory = function (configuration?: Configuration, baseP }, /** * Updates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ad groups. * @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 {UpdateSponsoredBrandsAdGroupsRequestContent} updateSponsoredBrandsAdGroupsRequestContent @@ -9373,6 +11137,7 @@ export interface AdGroupsApiUpdateSponsoredBrandsAdGroupsRequest { export class AdGroupsApi extends BaseAPI { /** * Creates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands ad groups. * @param {AdGroupsApiCreateSponsoredBrandsAdGroupsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9384,6 +11149,7 @@ export class AdGroupsApi extends BaseAPI { /** * Deletes Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ad groups. * @param {AdGroupsApiDeleteSponsoredBrandsAdGroupsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9395,6 +11161,7 @@ export class AdGroupsApi extends BaseAPI { /** * Lists Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ad groups. * @param {AdGroupsApiListSponsoredBrandsAdGroupsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9406,6 +11173,7 @@ export class AdGroupsApi extends BaseAPI { /** * Updates Sponsored Brands ad groups. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ad groups. * @param {AdGroupsApiUpdateSponsoredBrandsAdGroupsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9425,6 +11193,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) return { /** * Creates Sponsored Brands store spotlight ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands store spotlight ads. * @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 {CreateSponsoredBrandStoreSpotlightAdsRequestContent} createSponsoredBrandStoreSpotlightAdsRequestContent @@ -9438,7 +11207,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('createSponsoredBrandStoreSpotlightAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createSponsoredBrandStoreSpotlightAdsRequestContent' is not null or undefined assertParamExists('createSponsoredBrandStoreSpotlightAds', 'createSponsoredBrandStoreSpotlightAdsRequestContent', createSponsoredBrandStoreSpotlightAdsRequestContent) - const localVarPath = `/sb/beta/ads/storeSpotlight`; + const localVarPath = `/sb/v4/ads/storeSpotlight`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9474,6 +11243,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) }, /** * Creates Sponsored Brands brand video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands brand video ads. * @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 {CreateSponsoredBrandsBrandVideoAdsRequestContent} createSponsoredBrandsBrandVideoAdsRequestContent @@ -9487,7 +11257,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('createSponsoredBrandsBrandVideoAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createSponsoredBrandsBrandVideoAdsRequestContent' is not null or undefined assertParamExists('createSponsoredBrandsBrandVideoAds', 'createSponsoredBrandsBrandVideoAdsRequestContent', createSponsoredBrandsBrandVideoAdsRequestContent) - const localVarPath = `/sb/beta/ads/brandVideo`; + const localVarPath = `/sb/v4/ads/brandVideo`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9523,6 +11293,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) }, /** * Creates Sponsored Brands product collection ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands product collection ads. * @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 {CreateSponsoredBrandsProductCollectionAdsRequestContent} createSponsoredBrandsProductCollectionAdsRequestContent @@ -9536,7 +11307,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('createSponsoredBrandsProductCollectionAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createSponsoredBrandsProductCollectionAdsRequestContent' is not null or undefined assertParamExists('createSponsoredBrandsProductCollectionAds', 'createSponsoredBrandsProductCollectionAdsRequestContent', createSponsoredBrandsProductCollectionAdsRequestContent) - const localVarPath = `/sb/beta/ads/productCollection`; + const localVarPath = `/sb/v4/ads/productCollection`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9572,6 +11343,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) }, /** * Creates Sponsored Brands video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands video ads. * @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 {CreateSponsoredBrandsVideoAdsRequestContent} createSponsoredBrandsVideoAdsRequestContent @@ -9585,7 +11357,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('createSponsoredBrandsVideoAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createSponsoredBrandsVideoAdsRequestContent' is not null or undefined assertParamExists('createSponsoredBrandsVideoAds', 'createSponsoredBrandsVideoAdsRequestContent', createSponsoredBrandsVideoAdsRequestContent) - const localVarPath = `/sb/beta/ads/video`; + const localVarPath = `/sb/v4/ads/video`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9621,6 +11393,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) }, /** * Deletes Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ads. * @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 {DeleteSponsoredBrandsAdsRequestContent} [deleteSponsoredBrandsAdsRequestContent] @@ -9632,7 +11405,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('deleteSponsoredBrandsAds', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('deleteSponsoredBrandsAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/sb/beta/ads/delete`; + const localVarPath = `/sb/v4/ads/delete`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9668,6 +11441,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) }, /** * Lists Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ads. * @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 {ListSponsoredBrandsAdsRequestContent} [listSponsoredBrandsAdsRequestContent] @@ -9679,7 +11453,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('listSponsoredBrandsAds', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('listSponsoredBrandsAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/sb/beta/ads/list`; + const localVarPath = `/sb/v4/ads/list`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9715,6 +11489,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) }, /** * Updates Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ads. * @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 {UpdateSponsoredBrandsAdsRequestContent} updateSponsoredBrandsAdsRequestContent @@ -9728,7 +11503,7 @@ export const AdsApiAxiosParamCreator = function (configuration?: Configuration) assertParamExists('updateSponsoredBrandsAds', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'updateSponsoredBrandsAdsRequestContent' is not null or undefined assertParamExists('updateSponsoredBrandsAds', 'updateSponsoredBrandsAdsRequestContent', updateSponsoredBrandsAdsRequestContent) - const localVarPath = `/sb/beta/ads`; + const localVarPath = `/sb/v4/ads`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -9774,6 +11549,7 @@ export const AdsApiFp = function(configuration?: Configuration) { return { /** * Creates Sponsored Brands store spotlight ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands store spotlight ads. * @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 {CreateSponsoredBrandStoreSpotlightAdsRequestContent} createSponsoredBrandStoreSpotlightAdsRequestContent @@ -9786,6 +11562,7 @@ export const AdsApiFp = function(configuration?: Configuration) { }, /** * Creates Sponsored Brands brand video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands brand video ads. * @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 {CreateSponsoredBrandsBrandVideoAdsRequestContent} createSponsoredBrandsBrandVideoAdsRequestContent @@ -9798,6 +11575,7 @@ export const AdsApiFp = function(configuration?: Configuration) { }, /** * Creates Sponsored Brands product collection ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands product collection ads. * @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 {CreateSponsoredBrandsProductCollectionAdsRequestContent} createSponsoredBrandsProductCollectionAdsRequestContent @@ -9810,6 +11588,7 @@ export const AdsApiFp = function(configuration?: Configuration) { }, /** * Creates Sponsored Brands video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands video ads. * @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 {CreateSponsoredBrandsVideoAdsRequestContent} createSponsoredBrandsVideoAdsRequestContent @@ -9822,6 +11601,7 @@ export const AdsApiFp = function(configuration?: Configuration) { }, /** * Deletes Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ads. * @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 {DeleteSponsoredBrandsAdsRequestContent} [deleteSponsoredBrandsAdsRequestContent] @@ -9834,6 +11614,7 @@ export const AdsApiFp = function(configuration?: Configuration) { }, /** * Lists Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ads. * @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 {ListSponsoredBrandsAdsRequestContent} [listSponsoredBrandsAdsRequestContent] @@ -9846,6 +11627,7 @@ export const AdsApiFp = function(configuration?: Configuration) { }, /** * Updates Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ads. * @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 {UpdateSponsoredBrandsAdsRequestContent} updateSponsoredBrandsAdsRequestContent @@ -9868,6 +11650,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: return { /** * Creates Sponsored Brands store spotlight ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands store spotlight ads. * @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 {CreateSponsoredBrandStoreSpotlightAdsRequestContent} createSponsoredBrandStoreSpotlightAdsRequestContent @@ -9879,6 +11662,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: }, /** * Creates Sponsored Brands brand video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands brand video ads. * @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 {CreateSponsoredBrandsBrandVideoAdsRequestContent} createSponsoredBrandsBrandVideoAdsRequestContent @@ -9890,6 +11674,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: }, /** * Creates Sponsored Brands product collection ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands product collection ads. * @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 {CreateSponsoredBrandsProductCollectionAdsRequestContent} createSponsoredBrandsProductCollectionAdsRequestContent @@ -9901,6 +11686,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: }, /** * Creates Sponsored Brands video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands video ads. * @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 {CreateSponsoredBrandsVideoAdsRequestContent} createSponsoredBrandsVideoAdsRequestContent @@ -9912,6 +11698,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: }, /** * Deletes Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ads. * @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 {DeleteSponsoredBrandsAdsRequestContent} [deleteSponsoredBrandsAdsRequestContent] @@ -9923,6 +11710,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: }, /** * Lists Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ads. * @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 {ListSponsoredBrandsAdsRequestContent} [listSponsoredBrandsAdsRequestContent] @@ -9934,6 +11722,7 @@ export const AdsApiFactory = function (configuration?: Configuration, basePath?: }, /** * Updates Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ads. * @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 {UpdateSponsoredBrandsAdsRequestContent} updateSponsoredBrandsAdsRequestContent @@ -10151,6 +11940,7 @@ export interface AdsApiUpdateSponsoredBrandsAdsRequest { export class AdsApi extends BaseAPI { /** * Creates Sponsored Brands store spotlight ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands store spotlight ads. * @param {AdsApiCreateSponsoredBrandStoreSpotlightAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10162,6 +11952,7 @@ export class AdsApi extends BaseAPI { /** * Creates Sponsored Brands brand video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands brand video ads. * @param {AdsApiCreateSponsoredBrandsBrandVideoAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10173,6 +11964,7 @@ export class AdsApi extends BaseAPI { /** * Creates Sponsored Brands product collection ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands product collection ads. * @param {AdsApiCreateSponsoredBrandsProductCollectionAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10184,6 +11976,7 @@ export class AdsApi extends BaseAPI { /** * Creates Sponsored Brands video ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands video ads. * @param {AdsApiCreateSponsoredBrandsVideoAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10195,6 +11988,7 @@ export class AdsApi extends BaseAPI { /** * Deletes Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands ads. * @param {AdsApiDeleteSponsoredBrandsAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10206,6 +12000,7 @@ export class AdsApi extends BaseAPI { /** * Lists Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands ads. * @param {AdsApiListSponsoredBrandsAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10217,6 +12012,7 @@ export class AdsApi extends BaseAPI { /** * Updates Sponsored Brands ads. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands ads. * @param {AdsApiUpdateSponsoredBrandsAdsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10235,7 +12031,7 @@ export class AdsApi extends BaseAPI { export const BudgetRecommendationsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Provides daily budget recomemndations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Provides daily budget recommendations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets daily budget recommendations. * @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. @@ -10295,7 +12091,7 @@ export const BudgetRecommendationsApiFp = function(configuration?: Configuration const localVarAxiosParamCreator = BudgetRecommendationsApiAxiosParamCreator(configuration) return { /** - * Provides daily budget recomemndations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Provides daily budget recommendations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets daily budget recommendations. * @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. @@ -10318,7 +12114,7 @@ export const BudgetRecommendationsApiFactory = function (configuration?: Configu const localVarFp = BudgetRecommendationsApiFp(configuration) return { /** - * Provides daily budget recomemndations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Provides daily budget recommendations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets daily budget recommendations. * @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. @@ -10368,7 +12164,7 @@ export interface BudgetRecommendationsApiGetBudgetRecommendationsRequest { */ export class BudgetRecommendationsApi extends BaseAPI { /** - * Provides daily budget recomemndations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * Provides daily budget recommendations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets daily budget recommendations. * @param {BudgetRecommendationsApiGetBudgetRecommendationsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -10652,7 +12448,7 @@ export const BudgetRulesApiAxiosParamCreator = function (configuration?: Configu }; }, /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets the budget history for a campaign 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. @@ -10959,7 +12755,7 @@ export const BudgetRulesApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets the budget history for a campaign 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. @@ -11090,7 +12886,7 @@ export const BudgetRulesApiFactory = function (configuration?: Configuration, ba return localVarFp.getCampaignsAssociatedWithSBBudgetRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, budgetRuleId, pageSize, nextToken, options).then((request) => request(axios, basePath)); }, /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets the budget history for a campaign 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. @@ -11528,7 +13324,7 @@ export class BudgetRulesApi extends BaseAPI { } /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Gets the budget history for a campaign specified by identifier. * @param {BudgetRulesApiGetRuleBasedBudgetHistoryForSBCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -11889,6 +13685,7 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura return { /** * Creates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands campaigns. * @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 {CreateSponsoredBrandsCampaignsRequestContent} createSponsoredBrandsCampaignsRequestContent @@ -11902,7 +13699,7 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura assertParamExists('createSponsoredBrandsCampaigns', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'createSponsoredBrandsCampaignsRequestContent' is not null or undefined assertParamExists('createSponsoredBrandsCampaigns', 'createSponsoredBrandsCampaignsRequestContent', createSponsoredBrandsCampaignsRequestContent) - const localVarPath = `/sb/beta/campaigns`; + const localVarPath = `/sb/v4/campaigns`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -11936,8 +13733,57 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura options: localVarRequestOptions, }; }, + /** + * Deletes Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands campaigns. + * @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 {DeleteSponsoredBrandsCampaignsRequestContent} [deleteSponsoredBrandsCampaignsRequestContent] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteSponsoredBrandsCampaigns: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, deleteSponsoredBrandsCampaignsRequestContent?: DeleteSponsoredBrandsCampaignsRequestContent, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('deleteSponsoredBrandsCampaigns', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('deleteSponsoredBrandsCampaigns', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/sb/v4/campaigns/delete`; + // 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.sbcampaignresource.v4+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(deleteSponsoredBrandsCampaignsRequestContent, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Lists Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands campaigns. * @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 {ListSponsoredBrandsCampaignsRequestContent} [listSponsoredBrandsCampaignsRequestContent] @@ -11949,7 +13795,7 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura assertParamExists('listSponsoredBrandsCampaigns', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('listSponsoredBrandsCampaigns', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/sb/beta/campaigns/list`; + const localVarPath = `/sb/v4/campaigns/list`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -11978,6 +13824,56 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(listSponsoredBrandsCampaignsRequestContent, localVarRequestOptions, configuration) + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Updates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands campaigns. + * @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 {UpdateSponsoredBrandsCampaignsRequestContent} updateSponsoredBrandsCampaignsRequestContent + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateSponsoredBrandsCampaigns: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, updateSponsoredBrandsCampaignsRequestContent: UpdateSponsoredBrandsCampaignsRequestContent, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('updateSponsoredBrandsCampaigns', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('updateSponsoredBrandsCampaigns', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + // verify required parameter 'updateSponsoredBrandsCampaignsRequestContent' is not null or undefined + assertParamExists('updateSponsoredBrandsCampaigns', 'updateSponsoredBrandsCampaignsRequestContent', updateSponsoredBrandsCampaignsRequestContent) + const localVarPath = `/sb/v4/campaigns`; + // 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.sbcampaignresource.v4+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateSponsoredBrandsCampaignsRequestContent, localVarRequestOptions, configuration) + return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, @@ -11995,6 +13891,7 @@ export const CampaignsApiFp = function(configuration?: Configuration) { return { /** * Creates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands campaigns. * @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 {CreateSponsoredBrandsCampaignsRequestContent} createSponsoredBrandsCampaignsRequestContent @@ -12005,8 +13902,22 @@ export const CampaignsApiFp = function(configuration?: Configuration) { const localVarAxiosArgs = await localVarAxiosParamCreator.createSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createSponsoredBrandsCampaignsRequestContent, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, + /** + * Deletes Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands campaigns. + * @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 {DeleteSponsoredBrandsCampaignsRequestContent} [deleteSponsoredBrandsCampaignsRequestContent] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, deleteSponsoredBrandsCampaignsRequestContent?: DeleteSponsoredBrandsCampaignsRequestContent, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, deleteSponsoredBrandsCampaignsRequestContent, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, /** * Lists Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands campaigns. * @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 {ListSponsoredBrandsCampaignsRequestContent} [listSponsoredBrandsCampaignsRequestContent] @@ -12017,6 +13928,19 @@ export const CampaignsApiFp = function(configuration?: Configuration) { const localVarAxiosArgs = await localVarAxiosParamCreator.listSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, listSponsoredBrandsCampaignsRequestContent, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, + /** + * Updates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands campaigns. + * @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 {UpdateSponsoredBrandsCampaignsRequestContent} updateSponsoredBrandsCampaignsRequestContent + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, updateSponsoredBrandsCampaignsRequestContent: UpdateSponsoredBrandsCampaignsRequestContent, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, updateSponsoredBrandsCampaignsRequestContent, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, } }; @@ -12029,6 +13953,7 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base return { /** * Creates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands campaigns. * @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 {CreateSponsoredBrandsCampaignsRequestContent} createSponsoredBrandsCampaignsRequestContent @@ -12038,8 +13963,21 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base createSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, createSponsoredBrandsCampaignsRequestContent: CreateSponsoredBrandsCampaignsRequestContent, options?: any): AxiosPromise { return localVarFp.createSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, createSponsoredBrandsCampaignsRequestContent, options).then((request) => request(axios, basePath)); }, + /** + * Deletes Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands campaigns. + * @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 {DeleteSponsoredBrandsCampaignsRequestContent} [deleteSponsoredBrandsCampaignsRequestContent] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, deleteSponsoredBrandsCampaignsRequestContent?: DeleteSponsoredBrandsCampaignsRequestContent, options?: any): AxiosPromise { + return localVarFp.deleteSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, deleteSponsoredBrandsCampaignsRequestContent, options).then((request) => request(axios, basePath)); + }, /** * Lists Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands campaigns. * @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 {ListSponsoredBrandsCampaignsRequestContent} [listSponsoredBrandsCampaignsRequestContent] @@ -12049,6 +13987,18 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base listSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, listSponsoredBrandsCampaignsRequestContent?: ListSponsoredBrandsCampaignsRequestContent, options?: any): AxiosPromise { return localVarFp.listSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, listSponsoredBrandsCampaignsRequestContent, options).then((request) => request(axios, basePath)); }, + /** + * Updates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands campaigns. + * @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 {UpdateSponsoredBrandsCampaignsRequestContent} updateSponsoredBrandsCampaignsRequestContent + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, updateSponsoredBrandsCampaignsRequestContent: UpdateSponsoredBrandsCampaignsRequestContent, options?: any): AxiosPromise { + return localVarFp.updateSponsoredBrandsCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, updateSponsoredBrandsCampaignsRequestContent, options).then((request) => request(axios, basePath)); + }, }; }; @@ -12080,6 +14030,34 @@ export interface CampaignsApiCreateSponsoredBrandsCampaignsRequest { readonly createSponsoredBrandsCampaignsRequestContent: CreateSponsoredBrandsCampaignsRequestContent } +/** + * Request parameters for deleteSponsoredBrandsCampaigns operation in CampaignsApi. + * @export + * @interface CampaignsApiDeleteSponsoredBrandsCampaignsRequest + */ +export interface CampaignsApiDeleteSponsoredBrandsCampaignsRequest { + /** + * The identifier of a client associated with a \"Login with Amazon\" account. + * @type {string} + * @memberof CampaignsApiDeleteSponsoredBrandsCampaigns + */ + 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 CampaignsApiDeleteSponsoredBrandsCampaigns + */ + readonly amazonAdvertisingAPIScope: string + + /** + * + * @type {DeleteSponsoredBrandsCampaignsRequestContent} + * @memberof CampaignsApiDeleteSponsoredBrandsCampaigns + */ + readonly deleteSponsoredBrandsCampaignsRequestContent?: DeleteSponsoredBrandsCampaignsRequestContent +} + /** * Request parameters for listSponsoredBrandsCampaigns operation in CampaignsApi. * @export @@ -12108,6 +14086,34 @@ export interface CampaignsApiListSponsoredBrandsCampaignsRequest { readonly listSponsoredBrandsCampaignsRequestContent?: ListSponsoredBrandsCampaignsRequestContent } +/** + * Request parameters for updateSponsoredBrandsCampaigns operation in CampaignsApi. + * @export + * @interface CampaignsApiUpdateSponsoredBrandsCampaignsRequest + */ +export interface CampaignsApiUpdateSponsoredBrandsCampaignsRequest { + /** + * The identifier of a client associated with a \"Login with Amazon\" account. + * @type {string} + * @memberof CampaignsApiUpdateSponsoredBrandsCampaigns + */ + 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 CampaignsApiUpdateSponsoredBrandsCampaigns + */ + readonly amazonAdvertisingAPIScope: string + + /** + * + * @type {UpdateSponsoredBrandsCampaignsRequestContent} + * @memberof CampaignsApiUpdateSponsoredBrandsCampaigns + */ + readonly updateSponsoredBrandsCampaignsRequestContent: UpdateSponsoredBrandsCampaignsRequestContent +} + /** * CampaignsApi - object-oriented interface * @export @@ -12117,6 +14123,7 @@ export interface CampaignsApiListSponsoredBrandsCampaignsRequest { export class CampaignsApi extends BaseAPI { /** * Creates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Creates Sponsored Brands campaigns. * @param {CampaignsApiCreateSponsoredBrandsCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -12126,8 +14133,21 @@ export class CampaignsApi extends BaseAPI { return CampaignsApiFp(this.configuration).createSponsoredBrandsCampaigns(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.createSponsoredBrandsCampaignsRequestContent, options).then((request) => request(this.axios, this.basePath)); } + /** + * Deletes Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Deletes Sponsored Brands campaigns. + * @param {CampaignsApiDeleteSponsoredBrandsCampaignsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CampaignsApi + */ + public deleteSponsoredBrandsCampaigns(requestParameters: CampaignsApiDeleteSponsoredBrandsCampaignsRequest, options?: any) { + return CampaignsApiFp(this.configuration).deleteSponsoredBrandsCampaigns(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.deleteSponsoredBrandsCampaignsRequestContent, options).then((request) => request(this.axios, this.basePath)); + } + /** * Lists Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Lists Sponsored Brands campaigns. * @param {CampaignsApiListSponsoredBrandsCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -12136,23 +14156,44 @@ export class CampaignsApi extends BaseAPI { public listSponsoredBrandsCampaigns(requestParameters: CampaignsApiListSponsoredBrandsCampaignsRequest, options?: any) { return CampaignsApiFp(this.configuration).listSponsoredBrandsCampaigns(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.listSponsoredBrandsCampaignsRequestContent, options).then((request) => request(this.axios, this.basePath)); } + + /** + * Updates Sponsored Brands campaigns. **Requires one of these permissions**: [\"advertiser_campaign_edit\"] + * @summary Updates Sponsored Brands campaigns. + * @param {CampaignsApiUpdateSponsoredBrandsCampaignsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CampaignsApi + */ + public updateSponsoredBrandsCampaigns(requestParameters: CampaignsApiUpdateSponsoredBrandsCampaignsRequest, options?: any) { + return CampaignsApiFp(this.configuration).updateSponsoredBrandsCampaigns(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.updateSponsoredBrandsCampaignsRequestContent, options).then((request) => request(this.axios, this.basePath)); + } } /** - * DefaultApi - axios parameter creator + * InsightsApi - axios parameter creator * @export */ -export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) { +export const InsightsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Gets shopper segment bidding campaign performance forecasts. **Requires one of these permissions**: [\"advertiser_campaign_view\"] - * @param {GetCampaignShopperSegmentForecastRequestContent} [getCampaignShopperSegmentForecastRequestContent] + * Creates campaign level insights. Insights will be provided for passed in campaign parameters. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @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 {SBInsightsCampaignInsightsRequestContent} sBInsightsCampaignInsightsRequestContent + * @param {string} [nextToken] Operations that return paginated results include a pagination token in this field. 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. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getCampaignShopperSegmentForecast: async (getCampaignShopperSegmentForecastRequestContent?: GetCampaignShopperSegmentForecastRequestContent, options: any = {}): Promise => { - const localVarPath = `/sb/campaign/shopperSegments/forecast`; + sBInsightsCampaignInsights: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sBInsightsCampaignInsightsRequestContent: SBInsightsCampaignInsightsRequestContent, nextToken?: string, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('sBInsightsCampaignInsights', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('sBInsightsCampaignInsights', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + // verify required parameter 'sBInsightsCampaignInsightsRequestContent' is not null or undefined + assertParamExists('sBInsightsCampaignInsights', 'sBInsightsCampaignInsightsRequestContent', sBInsightsCampaignInsightsRequestContent) + const localVarPath = `/sb/campaigns/insights`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -12160,18 +14201,30 @@ export const DefaultApiAxiosParamCreator = function (configuration?: Configurati baseOptions = configuration.baseOptions; } - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (nextToken !== undefined) { + localVarQueryParameter['nextToken'] = nextToken; + } + + 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.SBForecastingAPILambda.SponsoredBrandsCampaignShopperSegmentForecastResource.v1+json'; + localVarHeaderParameter['Content-Type'] = 'application/vnd.sbinsights.v4+json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(getCampaignShopperSegmentForecastRequestContent, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(sBInsightsCampaignInsightsRequestContent, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -12182,74 +14235,101 @@ export const DefaultApiAxiosParamCreator = function (configuration?: Configurati }; /** - * DefaultApi - functional programming interface + * InsightsApi - functional programming interface * @export */ -export const DefaultApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration) +export const InsightsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = InsightsApiAxiosParamCreator(configuration) return { /** - * Gets shopper segment bidding campaign performance forecasts. **Requires one of these permissions**: [\"advertiser_campaign_view\"] - * @param {GetCampaignShopperSegmentForecastRequestContent} [getCampaignShopperSegmentForecastRequestContent] + * Creates campaign level insights. Insights will be provided for passed in campaign parameters. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @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 {SBInsightsCampaignInsightsRequestContent} sBInsightsCampaignInsightsRequestContent + * @param {string} [nextToken] Operations that return paginated results include a pagination token in this field. 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. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getCampaignShopperSegmentForecast(getCampaignShopperSegmentForecastRequestContent?: GetCampaignShopperSegmentForecastRequestContent, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getCampaignShopperSegmentForecast(getCampaignShopperSegmentForecastRequestContent, options); + async sBInsightsCampaignInsights(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sBInsightsCampaignInsightsRequestContent: SBInsightsCampaignInsightsRequestContent, nextToken?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.sBInsightsCampaignInsights(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sBInsightsCampaignInsightsRequestContent, nextToken, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } }; /** - * DefaultApi - factory interface + * InsightsApi - factory interface * @export */ -export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = DefaultApiFp(configuration) +export const InsightsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = InsightsApiFp(configuration) return { /** - * Gets shopper segment bidding campaign performance forecasts. **Requires one of these permissions**: [\"advertiser_campaign_view\"] - * @param {GetCampaignShopperSegmentForecastRequestContent} [getCampaignShopperSegmentForecastRequestContent] + * Creates campaign level insights. Insights will be provided for passed in campaign parameters. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @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 {SBInsightsCampaignInsightsRequestContent} sBInsightsCampaignInsightsRequestContent + * @param {string} [nextToken] Operations that return paginated results include a pagination token in this field. 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. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getCampaignShopperSegmentForecast(getCampaignShopperSegmentForecastRequestContent?: GetCampaignShopperSegmentForecastRequestContent, options?: any): AxiosPromise { - return localVarFp.getCampaignShopperSegmentForecast(getCampaignShopperSegmentForecastRequestContent, options).then((request) => request(axios, basePath)); + sBInsightsCampaignInsights(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sBInsightsCampaignInsightsRequestContent: SBInsightsCampaignInsightsRequestContent, nextToken?: string, options?: any): AxiosPromise { + return localVarFp.sBInsightsCampaignInsights(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sBInsightsCampaignInsightsRequestContent, nextToken, options).then((request) => request(axios, basePath)); }, }; }; /** - * Request parameters for getCampaignShopperSegmentForecast operation in DefaultApi. + * Request parameters for sBInsightsCampaignInsights operation in InsightsApi. * @export - * @interface DefaultApiGetCampaignShopperSegmentForecastRequest + * @interface InsightsApiSBInsightsCampaignInsightsRequest */ -export interface DefaultApiGetCampaignShopperSegmentForecastRequest { +export interface InsightsApiSBInsightsCampaignInsightsRequest { + /** + * The identifier of a client associated with a \"Login with Amazon\" account. + * @type {string} + * @memberof InsightsApiSBInsightsCampaignInsights + */ + 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 InsightsApiSBInsightsCampaignInsights + */ + readonly amazonAdvertisingAPIScope: string + /** * - * @type {GetCampaignShopperSegmentForecastRequestContent} - * @memberof DefaultApiGetCampaignShopperSegmentForecast + * @type {SBInsightsCampaignInsightsRequestContent} + * @memberof InsightsApiSBInsightsCampaignInsights + */ + readonly sBInsightsCampaignInsightsRequestContent: SBInsightsCampaignInsightsRequestContent + + /** + * Operations that return paginated results include a pagination token in this field. 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 InsightsApiSBInsightsCampaignInsights */ - readonly getCampaignShopperSegmentForecastRequestContent?: GetCampaignShopperSegmentForecastRequestContent + readonly nextToken?: string } /** - * DefaultApi - object-oriented interface + * InsightsApi - object-oriented interface * @export - * @class DefaultApi + * @class InsightsApi * @extends {BaseAPI} */ -export class DefaultApi extends BaseAPI { +export class InsightsApi extends BaseAPI { /** - * Gets shopper segment bidding campaign performance forecasts. **Requires one of these permissions**: [\"advertiser_campaign_view\"] - * @param {DefaultApiGetCampaignShopperSegmentForecastRequest} requestParameters Request parameters. + * Creates campaign level insights. Insights will be provided for passed in campaign parameters. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @param {InsightsApiSBInsightsCampaignInsightsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof DefaultApi + * @memberof InsightsApi */ - public getCampaignShopperSegmentForecast(requestParameters: DefaultApiGetCampaignShopperSegmentForecastRequest = {}, options?: any) { - return DefaultApiFp(this.configuration).getCampaignShopperSegmentForecast(requestParameters.getCampaignShopperSegmentForecastRequestContent, options).then((request) => request(this.axios, this.basePath)); + public sBInsightsCampaignInsights(requestParameters: InsightsApiSBInsightsCampaignInsightsRequest, options?: any) { + return InsightsApiFp(this.configuration).sBInsightsCampaignInsights(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sBInsightsCampaignInsightsRequestContent, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); } } @@ -12406,59 +14486,11 @@ export class KeywordRecommendationsApi extends BaseAPI { /** - * ProductTargetingApi - axios parameter creator + * ProductTargetingCategoriesApi - axios parameter creator * @export */ -export const ProductTargetingApiAxiosParamCreator = function (configuration?: Configuration) { +export const ProductTargetingCategoriesApiAxiosParamCreator = function (configuration?: Configuration) { return { - /** - * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @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} [nextToken] Operations that return paginated results include a pagination token in this field. 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. - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - sBTargetingGetNegativeBrands: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, options: any = {}): Promise => { - // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined - assertParamExists('sBTargetingGetNegativeBrands', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) - // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined - assertParamExists('sBTargetingGetNegativeBrands', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) - const localVarPath = `/sb/negativeTargets/brands/recommendations`; - // 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 (nextToken !== undefined) { - localVarQueryParameter['nextToken'] = nextToken; - } - - 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, - }; - }, /** * Returns refinements according to category input. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @param {string} categoryRefinementId The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs. @@ -12639,24 +14671,12 @@ export const ProductTargetingApiAxiosParamCreator = function (configuration?: Co }; /** - * ProductTargetingApi - functional programming interface + * ProductTargetingCategoriesApi - functional programming interface * @export */ -export const ProductTargetingApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = ProductTargetingApiAxiosParamCreator(configuration) +export const ProductTargetingCategoriesApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ProductTargetingCategoriesApiAxiosParamCreator(configuration) return { - /** - * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @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} [nextToken] Operations that return paginated results include a pagination token in this field. 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. - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, nextToken, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, /** * Returns refinements according to category input. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @param {string} categoryRefinementId The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs. @@ -12703,23 +14723,12 @@ export const ProductTargetingApiFp = function(configuration?: Configuration) { }; /** - * ProductTargetingApi - factory interface + * ProductTargetingCategoriesApi - factory interface * @export */ -export const ProductTargetingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = ProductTargetingApiFp(configuration) +export const ProductTargetingCategoriesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ProductTargetingCategoriesApiFp(configuration) return { - /** - * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @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} [nextToken] Operations that return paginated results include a pagination token in this field. 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. - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, options?: any): AxiosPromise { - return localVarFp.sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, nextToken, options).then((request) => request(axios, basePath)); - }, /** * Returns refinements according to category input. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @param {string} categoryRefinementId The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs. @@ -12763,208 +14772,169 @@ export const ProductTargetingApiFactory = function (configuration?: Configuratio }; /** - * Request parameters for sBTargetingGetNegativeBrands operation in ProductTargetingApi. - * @export - * @interface ProductTargetingApiSBTargetingGetNegativeBrandsRequest - */ -export interface ProductTargetingApiSBTargetingGetNegativeBrandsRequest { - /** - * The identifier of a client associated with a `Login with Amazon` account. - * @type {string} - * @memberof ProductTargetingApiSBTargetingGetNegativeBrands - */ - 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 ProductTargetingApiSBTargetingGetNegativeBrands - */ - readonly amazonAdvertisingAPIScope: string - - /** - * Operations that return paginated results include a pagination token in this field. 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 ProductTargetingApiSBTargetingGetNegativeBrands - */ - readonly nextToken?: string -} - -/** - * Request parameters for sBTargetingGetRefinementsForCategory operation in ProductTargetingApi. + * Request parameters for sBTargetingGetRefinementsForCategory operation in ProductTargetingCategoriesApi. * @export - * @interface ProductTargetingApiSBTargetingGetRefinementsForCategoryRequest + * @interface ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategoryRequest */ -export interface ProductTargetingApiSBTargetingGetRefinementsForCategoryRequest { +export interface ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategoryRequest { /** * The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs. * @type {string} - * @memberof ProductTargetingApiSBTargetingGetRefinementsForCategory + * @memberof ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategory */ readonly categoryRefinementId: string /** * The identifier of a client associated with a `Login with Amazon` account. * @type {string} - * @memberof ProductTargetingApiSBTargetingGetRefinementsForCategory + * @memberof ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategory */ 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 ProductTargetingApiSBTargetingGetRefinementsForCategory + * @memberof ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategory */ readonly amazonAdvertisingAPIScope: string /** * The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace. * @type {SBTargetingLocale} - * @memberof ProductTargetingApiSBTargetingGetRefinementsForCategory + * @memberof ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategory */ readonly locale?: SBTargetingLocale /** * Operations that return paginated results include a pagination token in this field. 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 ProductTargetingApiSBTargetingGetRefinementsForCategory + * @memberof ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategory */ readonly nextToken?: string } /** - * Request parameters for sBTargetingGetTargetableASINCounts operation in ProductTargetingApi. + * Request parameters for sBTargetingGetTargetableASINCounts operation in ProductTargetingCategoriesApi. * @export - * @interface ProductTargetingApiSBTargetingGetTargetableASINCountsRequest + * @interface ProductTargetingCategoriesApiSBTargetingGetTargetableASINCountsRequest */ -export interface ProductTargetingApiSBTargetingGetTargetableASINCountsRequest { +export interface ProductTargetingCategoriesApiSBTargetingGetTargetableASINCountsRequest { /** * The identifier of a client associated with a `Login with Amazon` account. * @type {string} - * @memberof ProductTargetingApiSBTargetingGetTargetableASINCounts + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableASINCounts */ 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 ProductTargetingApiSBTargetingGetTargetableASINCounts + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableASINCounts */ readonly amazonAdvertisingAPIScope: string /** * * @type {SBTargetingGetTargetableASINCountsRequestContent} - * @memberof ProductTargetingApiSBTargetingGetTargetableASINCounts + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableASINCounts */ readonly sBTargetingGetTargetableASINCountsRequestContent: SBTargetingGetTargetableASINCountsRequestContent } /** - * Request parameters for sBTargetingGetTargetableCategories operation in ProductTargetingApi. + * Request parameters for sBTargetingGetTargetableCategories operation in ProductTargetingCategoriesApi. * @export - * @interface ProductTargetingApiSBTargetingGetTargetableCategoriesRequest + * @interface ProductTargetingCategoriesApiSBTargetingGetTargetableCategoriesRequest */ -export interface ProductTargetingApiSBTargetingGetTargetableCategoriesRequest { +export interface ProductTargetingCategoriesApiSBTargetingGetTargetableCategoriesRequest { /** * The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV. * @type {SBTargetingSupplySource} - * @memberof ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ readonly supplySource: SBTargetingSupplySource /** * The identifier of a client associated with a `Login with Amazon` account. * @type {string} - * @memberof ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ 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 ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ readonly amazonAdvertisingAPIScope: string /** * The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace. * @type {SBTargetingLocale} - * @memberof ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ readonly locale?: SBTargetingLocale /** * Indicates whether to only retun root categories or not. * @type {boolean} - * @memberof ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ readonly includeOnlyRootCategories?: boolean /** * Returns child categories of category. * @type {string} - * @memberof ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ readonly parentCategoryRefinementId?: string /** * Operations that return paginated results include a pagination token in this field. 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 ProductTargetingApiSBTargetingGetTargetableCategories + * @memberof ProductTargetingCategoriesApiSBTargetingGetTargetableCategories */ readonly nextToken?: string } /** - * ProductTargetingApi - object-oriented interface + * ProductTargetingCategoriesApi - object-oriented interface * @export - * @class ProductTargetingApi + * @class ProductTargetingCategoriesApi * @extends {BaseAPI} */ -export class ProductTargetingApi extends BaseAPI { - /** - * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @param {ProductTargetingApiSBTargetingGetNegativeBrandsRequest} requestParameters Request parameters. - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof ProductTargetingApi - */ - public sBTargetingGetNegativeBrands(requestParameters: ProductTargetingApiSBTargetingGetNegativeBrandsRequest, options?: any) { - return ProductTargetingApiFp(this.configuration).sBTargetingGetNegativeBrands(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); - } - +export class ProductTargetingCategoriesApi extends BaseAPI { /** * Returns refinements according to category input. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @param {ProductTargetingApiSBTargetingGetRefinementsForCategoryRequest} requestParameters Request parameters. + * @param {ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategoryRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ProductTargetingApi + * @memberof ProductTargetingCategoriesApi */ - public sBTargetingGetRefinementsForCategory(requestParameters: ProductTargetingApiSBTargetingGetRefinementsForCategoryRequest, options?: any) { - return ProductTargetingApiFp(this.configuration).sBTargetingGetRefinementsForCategory(requestParameters.categoryRefinementId, requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.locale, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); + public sBTargetingGetRefinementsForCategory(requestParameters: ProductTargetingCategoriesApiSBTargetingGetRefinementsForCategoryRequest, options?: any) { + return ProductTargetingCategoriesApiFp(this.configuration).sBTargetingGetRefinementsForCategory(requestParameters.categoryRefinementId, requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.locale, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); } /** * Get number of targetable asins based on refinements provided by the user. Use `/sb/targets/categories` or `/sb/recommendations/targets/category` to retrieve the category ID. Use `/sb/targets/categories/{categoryRefinementId}/refinements` to retrieve refinements data for a category. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @param {ProductTargetingApiSBTargetingGetTargetableASINCountsRequest} requestParameters Request parameters. + * @param {ProductTargetingCategoriesApiSBTargetingGetTargetableASINCountsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ProductTargetingApi + * @memberof ProductTargetingCategoriesApi */ - public sBTargetingGetTargetableASINCounts(requestParameters: ProductTargetingApiSBTargetingGetTargetableASINCountsRequest, options?: any) { - return ProductTargetingApiFp(this.configuration).sBTargetingGetTargetableASINCounts(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sBTargetingGetTargetableASINCountsRequestContent, options).then((request) => request(this.axios, this.basePath)); + public sBTargetingGetTargetableASINCounts(requestParameters: ProductTargetingCategoriesApiSBTargetingGetTargetableASINCountsRequest, options?: any) { + return ProductTargetingCategoriesApiFp(this.configuration).sBTargetingGetTargetableASINCounts(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sBTargetingGetTargetableASINCountsRequestContent, options).then((request) => request(this.axios, this.basePath)); } /** * Returns all targetable categories by default in a list. List of categories can be used to build and traverse category tree. Set query parameter `includeOnlyRootCategories=true` to return only the root categories, or set `parentCategoryRefinementId` to return children of a specific parent category. Each category node has the fields - category name, category refinement id, parent category refinement id, isTargetable flag, and ASIN count range. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] - * @param {ProductTargetingApiSBTargetingGetTargetableCategoriesRequest} requestParameters Request parameters. + * @param {ProductTargetingCategoriesApiSBTargetingGetTargetableCategoriesRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ProductTargetingApi + * @memberof ProductTargetingCategoriesApi */ - public sBTargetingGetTargetableCategories(requestParameters: ProductTargetingApiSBTargetingGetTargetableCategoriesRequest, options?: any) { - return ProductTargetingApiFp(this.configuration).sBTargetingGetTargetableCategories(requestParameters.supplySource, requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.locale, requestParameters.includeOnlyRootCategories, requestParameters.parentCategoryRefinementId, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); + public sBTargetingGetTargetableCategories(requestParameters: ProductTargetingCategoriesApiSBTargetingGetTargetableCategoriesRequest, options?: any) { + return ProductTargetingCategoriesApiFp(this.configuration).sBTargetingGetTargetableCategories(requestParameters.supplySource, requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.locale, requestParameters.includeOnlyRootCategories, requestParameters.parentCategoryRefinementId, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); } } @@ -13267,3 +15237,151 @@ export class SuggestionsApi extends BaseAPI { } +/** + * TargetingRecommendationsApi - axios parameter creator + * @export + */ +export const TargetingRecommendationsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @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} [nextToken] Operations that return paginated results include a pagination token in this field. 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. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sBTargetingGetNegativeBrands: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('sBTargetingGetNegativeBrands', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('sBTargetingGetNegativeBrands', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/sb/negativeTargets/brands/recommendations`; + // 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 (nextToken !== undefined) { + localVarQueryParameter['nextToken'] = nextToken; + } + + 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, + }; + }, + } +}; + +/** + * TargetingRecommendationsApi - functional programming interface + * @export + */ +export const TargetingRecommendationsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = TargetingRecommendationsApiAxiosParamCreator(configuration) + return { + /** + * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @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} [nextToken] Operations that return paginated results include a pagination token in this field. 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. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, nextToken, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * TargetingRecommendationsApi - factory interface + * @export + */ +export const TargetingRecommendationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = TargetingRecommendationsApiFp(configuration) + return { + /** + * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @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} [nextToken] Operations that return paginated results include a pagination token in this field. 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. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, nextToken?: string, options?: any): AxiosPromise { + return localVarFp.sBTargetingGetNegativeBrands(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, nextToken, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Request parameters for sBTargetingGetNegativeBrands operation in TargetingRecommendationsApi. + * @export + * @interface TargetingRecommendationsApiSBTargetingGetNegativeBrandsRequest + */ +export interface TargetingRecommendationsApiSBTargetingGetNegativeBrandsRequest { + /** + * The identifier of a client associated with a `Login with Amazon` account. + * @type {string} + * @memberof TargetingRecommendationsApiSBTargetingGetNegativeBrands + */ + 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 TargetingRecommendationsApiSBTargetingGetNegativeBrands + */ + readonly amazonAdvertisingAPIScope: string + + /** + * Operations that return paginated results include a pagination token in this field. 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 TargetingRecommendationsApiSBTargetingGetNegativeBrands + */ + readonly nextToken?: string +} + +/** + * TargetingRecommendationsApi - object-oriented interface + * @export + * @class TargetingRecommendationsApi + * @extends {BaseAPI} + */ +export class TargetingRecommendationsApi extends BaseAPI { + /** + * 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. Only available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @param {TargetingRecommendationsApiSBTargetingGetNegativeBrandsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TargetingRecommendationsApi + */ + public sBTargetingGetNegativeBrands(requestParameters: TargetingRecommendationsApiSBTargetingGetNegativeBrandsRequest, options?: any) { + return TargetingRecommendationsApiFp(this.configuration).sBTargetingGetNegativeBrands(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.nextToken, options).then((request) => request(this.axios, this.basePath)); + } +} + + diff --git a/src/apis/models/sponsored-brands.ts b/src/apis/models/sponsored-brands.ts index 1099462..ae2aec7 100644 --- a/src/apis/models/sponsored-brands.ts +++ b/src/apis/models/sponsored-brands.ts @@ -2,7 +2,7 @@ /* eslint-disable */ /** * Amazon Ads API - Sponsored Brands - * Use the Amazon Ads API for Sponsored Brands for campaign, ad group, keyword, negative keyword, drafts, Stores, landing pages, and Brands management operations. For more information about Sponsored Brands, see the [Sponsored Brands Support Center](https://advertising.amazon.com/help#GQFZA83P55P747BZ). For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic.

+ * Use the Amazon Ads API for Sponsored Brands for campaign, ad group, keyword, negative keyword, drafts, Stores, landing pages, and Brands management operations. For more information about Sponsored Brands, see the [Sponsored Brands Support Center](https://advertising.amazon.com/help#GQFZA83P55P747BZ). For onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/v3/guides/account_setup) topic. * * The version of the OpenAPI document: 3.0 * @@ -368,6 +368,55 @@ export interface InlineObject { */ version?: string; } +/** + * + * @export + * @interface InlineObject10 + */ +export interface InlineObject10 { + /** + * Date in YYYYMMDD format. The report only contains performance data for the specified date. The time zone is specified by the profile used to request the report. If this date is today, then the performance report may contain partial information. Reports are not available for data older than 60 days. For details on data latency, see [Service Guarantees](../../reference/concepts/developer-notes). + * @type {string} + * @memberof InlineObject10 + */ + reportDate: string; + /** + * Optional. Allows you to run a report based on secondary dimensions. Use `placement` to segment a `campaigns` report by the location on a page where your ad appears. Use `query` to segment a `keywords` report and create a search terms report. + * @type {string} + * @memberof InlineObject10 + */ + segment?: InlineObject10SegmentEnum; + /** + * Optional. Supported values are `video` (for video campaigns) and `all` (for both non-video and video campaigns). If not specified, the report will contain data for non-video campaigns. For `ads` report types only, `creativeType` is required and must be set to `all` (`video` is not allowed). To return performance data for [multi-ad group campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns), you must include `creativeType` set to `all`` in your request. + * @type {string} + * @memberof InlineObject10 + */ + creativeType?: InlineObject10CreativeTypeEnum; + /** + * Each report type supports different metrics. **To understand supported metrics for each report type, see [Report types](/API/docs/en-us/guides/reporting/v2/report-types).** + * @type {string} + * @memberof InlineObject10 + */ + metrics: string; +} + +/** + * @export + * @enum {string} + */ +export enum InlineObject10SegmentEnum { + Placement = 'placement', + Query = 'query' +} +/** + * @export + * @enum {string} + */ +export enum InlineObject10CreativeTypeEnum { + Video = 'video', + All = 'all' +} + /** * * @export @@ -458,11 +507,11 @@ export interface InlineObject6 { */ export interface InlineObject7 { /** - * A list of ASINs. - * @type {Array} + * + * @type {Array} * @memberof InlineObject7 */ - asins?: Array; + themes: Array; } /** * @@ -471,46 +520,39 @@ export interface InlineObject7 { */ export interface InlineObject8 { /** - * Date in YYYYMMDD format. The report only contains performance data for the specified date. The time zone is specified by the profile used to request the report. If this date is today, then the performance report may contain partial information. Reports are not available for data older than 60 days. For details on data latency, see [Service Guarantees](../../get-started/developer-notes). - * @type {string} - * @memberof InlineObject8 - */ - reportDate: string; - /** - * Optional. Allows you to run a report based on secondary dimensions. Use `placement` to segment a `campaigns` report by the location on a page where your ad appears. Use `query` to segment a `keywords` report and create a search terms report. - * @type {string} + * + * @type {Array} * @memberof InlineObject8 */ - segment?: InlineObject8SegmentEnum; + themes: Array; +} +/** + * + * @export + * @interface InlineObject9 + */ +export interface InlineObject9 { /** - * Optional. Supported values are `video` (for video campaigns) and `all` (for both non-video and video campaigns). If not specified, the report will contain data for non-video campaigns. For `ads` report types only, `creativeType` is required and must be set to `all` (`video` is not allowed). To return performance data for [multi-ad group campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns), you must include `creativeType` set to `all`` in your request. - * @type {string} - * @memberof InlineObject8 + * A list of ASINs. + * @type {Array} + * @memberof InlineObject9 */ - creativeType?: InlineObject8CreativeTypeEnum; + asins?: Array; /** - * Each report type supports different metrics. **To understand supported metrics for each report type, see [Report types](/API/docs/en-us/reporting/v2/report-types).** + * The supply source of the campaign. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV. Default value is `AMAZON`. * @type {string} - * @memberof InlineObject8 + * @memberof InlineObject9 */ - metrics: string; + supplySource?: InlineObject9SupplySourceEnum; } /** * @export * @enum {string} */ -export enum InlineObject8SegmentEnum { - Placement = 'placement', - Query = 'query' -} -/** - * @export - * @enum {string} - */ -export enum InlineObject8CreativeTypeEnum { - Video = 'video', - All = 'all' +export enum InlineObject9SupplySourceEnum { + Amazon = 'AMAZON', + StreamingVideo = 'STREAMING_VIDEO' } /** @@ -557,6 +599,31 @@ export interface InlineResponse2001 { */ publishedMediaUrl?: string; } +/** + * + * @export + * @interface InlineResponse20010 + */ +export interface InlineResponse20010 { + /** + * The unique ID for your requested report. + * @type {string} + * @memberof InlineResponse20010 + */ + reportId?: string; + /** + * The status of the report. Status is one of `IN_PROGRESS`, `SUCCESS`, or `FAILURE`. + * @type {string} + * @memberof InlineResponse20010 + */ + status?: string; + /** + * Description of the status. + * @type {string} + * @memberof InlineResponse20010 + */ + statusDetails?: string; +} /** * Additional status metadata. It is only available when status is `Failed` and `statusMetadata` provides additional detail on why media status is `Failed`. `statusMetadata` is comprised of code and message. * @export @@ -771,11 +838,36 @@ export interface InlineResponse2004UpdateTargetSuccessResults { */ export interface InlineResponse2005 { /** - * - * @type {Array} + * Lists the successfully updated theme targets. Note that theme targets in the response are correlated to theme targets in the request using the `index` field. For example, if `index` is set to `2`, the values correlate to the third theme target object in the request. + * @type {Array} * @memberof InlineResponse2005 */ - categoryRecommendationResults?: Array; + success?: Array; + /** + * Lists errors that occurred during theme target update. Note that errors are correlated to theme target update requests by the `index` field. This field corresponds to the order of the theme target in the request. For example, if `index` is set to `2`, the values correlate to the third theme target object in the request array. + * @type {Array} + * @memberof InlineResponse2005 + */ + error?: Array; +} +/** + * + * @export + * @interface InlineResponse2005Success + */ +export interface InlineResponse2005Success { + /** + * The identifier of theme target. + * @type {string} + * @memberof InlineResponse2005Success + */ + themeId?: string; + /** + * Correlates the target to the target array index specified in the request. Zero-based. + * @type {number} + * @memberof InlineResponse2005Success + */ + index?: number; } /** * @@ -785,10 +877,10 @@ export interface InlineResponse2005 { export interface InlineResponse2006 { /** * - * @type {Array} + * @type {Array} * @memberof InlineResponse2006 */ - brandRecommendationResults?: Array; + categoryRecommendationResults?: Array; } /** * @@ -796,37 +888,50 @@ export interface InlineResponse2006 { * @interface InlineResponse2007 */ export interface InlineResponse2007 { + /** + * + * @type {Array} + * @memberof InlineResponse2007 + */ + brandRecommendationResults?: Array; +} +/** + * + * @export + * @interface InlineResponse2008 + */ +export interface InlineResponse2008 { /** * The campaign identifier. * @type {number} - * @memberof InlineResponse2007 + * @memberof InlineResponse2008 */ campaignId?: number; /** * The moderation status of the campaign. |Status|Description| |------|-----------| |APPROVED|Moderation for the campaign is complete.| |IN_PROGRESS|Moderation for the campaign is in progress. The expected date and time for completion are specfied in the `etaForModeration` field.| |REJECTED|The campaign has failed moderation. Specific information about the content that violated policy is available in `policyViolations`.| * @type {string} - * @memberof InlineResponse2007 + * @memberof InlineResponse2008 */ - moderationStatus?: InlineResponse2007ModerationStatusEnum; + moderationStatus?: InlineResponse2008ModerationStatusEnum; /** * Expected date and time by which moderation will be complete. Note that this field is present in the response only when `moderationStatus` is set to `IN_PROGRESS`. * @type {string} - * @memberof InlineResponse2007 + * @memberof InlineResponse2008 */ etaForModeration?: string; /** * A list of policy violations for a campaign that has failed moderation. Note that this field is present in the response only when `moderationStatus` is set to `REJECTED`. - * @type {Array} - * @memberof InlineResponse2007 + * @type {Array} + * @memberof InlineResponse2008 */ - policyViolations?: Array; + policyViolations?: Array; } /** * @export * @enum {string} */ -export enum InlineResponse2007ModerationStatusEnum { +export enum InlineResponse2008ModerationStatusEnum { Approved = 'APPROVED', InProgress = 'IN_PROGRESS', Rejected = 'REJECTED' @@ -835,190 +940,165 @@ export enum InlineResponse2007ModerationStatusEnum { /** * * @export - * @interface InlineResponse2007PolicyViolations + * @interface InlineResponse2008PolicyViolations */ -export interface InlineResponse2007PolicyViolations { +export interface InlineResponse2008PolicyViolations { /** * A human-readable description of the policy. * @type {string} - * @memberof InlineResponse2007PolicyViolations + * @memberof InlineResponse2008PolicyViolations */ policyDescription?: string; /** * Address of the policy documentation. Follow the link to learn more about the specified policy. * @type {string} - * @memberof InlineResponse2007PolicyViolations + * @memberof InlineResponse2008PolicyViolations */ policyLinkUrl?: string; /** * Information about the specific text that violates the specified policy in the campaign. - * @type {Array} - * @memberof InlineResponse2007PolicyViolations + * @type {Array} + * @memberof InlineResponse2008PolicyViolations */ - violatingTextContents?: Array; + violatingTextContents?: Array; /** * Information about the specific image that violates the specified policy. - * @type {Array} - * @memberof InlineResponse2007PolicyViolations + * @type {Array} + * @memberof InlineResponse2008PolicyViolations */ - violatingImageContents?: Array; + violatingImageContents?: Array; /** * Information about the specific ASIN in the campaign that violates the specified policy. - * @type {Array} - * @memberof InlineResponse2007PolicyViolations + * @type {Array} + * @memberof InlineResponse2008PolicyViolations */ - violatingAsinContents?: Array; + violatingAsinContents?: Array; } /** * * @export - * @interface InlineResponse2007TextEvidences + * @interface InlineResponse2008TextEvidences */ -export interface InlineResponse2007TextEvidences { +export interface InlineResponse2008TextEvidences { /** * The specific text determined to violate the specified policy in `reviewedText`. * @type {string} - * @memberof InlineResponse2007TextEvidences + * @memberof InlineResponse2008TextEvidences */ violatingText?: string; /** * - * @type {InlineResponse2007ViolatingTextPosition} - * @memberof InlineResponse2007TextEvidences + * @type {InlineResponse2008ViolatingTextPosition} + * @memberof InlineResponse2008TextEvidences */ - violatingTextPosition?: InlineResponse2007ViolatingTextPosition; + violatingTextPosition?: InlineResponse2008ViolatingTextPosition; } /** * * @export - * @interface InlineResponse2007ViolatingAsinContents + * @interface InlineResponse2008ViolatingAsinContents */ -export interface InlineResponse2007ViolatingAsinContents { +export interface InlineResponse2008ViolatingAsinContents { /** * The ad component that includes the ASIN that violates the specified policy. * @type {string} - * @memberof InlineResponse2007ViolatingAsinContents + * @memberof InlineResponse2008ViolatingAsinContents */ moderatedComponent?: string; /** * * @type {Array} - * @memberof InlineResponse2007ViolatingAsinContents + * @memberof InlineResponse2008ViolatingAsinContents */ asinEvidences?: Array; } /** * * @export - * @interface InlineResponse2007ViolatingImageContents + * @interface InlineResponse2008ViolatingImageContents */ -export interface InlineResponse2007ViolatingImageContents { +export interface InlineResponse2008ViolatingImageContents { /** * The ad component that includes the image that violates the specified policy. * @type {string} - * @memberof InlineResponse2007ViolatingImageContents + * @memberof InlineResponse2008ViolatingImageContents */ moderatedComponent?: string; /** * Address of the image reviewed during moderation. * @type {string} - * @memberof InlineResponse2007ViolatingImageContents + * @memberof InlineResponse2008ViolatingImageContents */ reviewedImageUrl?: string; /** * * @type {Array} - * @memberof InlineResponse2007ViolatingImageContents + * @memberof InlineResponse2008ViolatingImageContents */ imageEvidences?: Array; } /** * * @export - * @interface InlineResponse2007ViolatingTextContents + * @interface InlineResponse2008ViolatingTextContents */ -export interface InlineResponse2007ViolatingTextContents { +export interface InlineResponse2008ViolatingTextContents { /** * The ad component that includes the text that violates the specified policy. * @type {string} - * @memberof InlineResponse2007ViolatingTextContents + * @memberof InlineResponse2008ViolatingTextContents */ moderatedComponent?: string; /** * The specific text reviewed during moderation. * @type {string} - * @memberof InlineResponse2007ViolatingTextContents + * @memberof InlineResponse2008ViolatingTextContents */ reviewedText?: string; /** * - * @type {Array} - * @memberof InlineResponse2007ViolatingTextContents + * @type {Array} + * @memberof InlineResponse2008ViolatingTextContents */ - textEvidences?: Array; + textEvidences?: Array; } /** * * @export - * @interface InlineResponse2007ViolatingTextPosition + * @interface InlineResponse2008ViolatingTextPosition */ -export interface InlineResponse2007ViolatingTextPosition { +export interface InlineResponse2008ViolatingTextPosition { /** * Zero-based index into the text in `reviewedText` where the text specified in `violatingText` starts. * @type {number} - * @memberof InlineResponse2007ViolatingTextPosition + * @memberof InlineResponse2008ViolatingTextPosition */ start?: number; /** * Zero-based index into the text in `reviewedText` where the text specified in `violatingText` ends. * @type {number} - * @memberof InlineResponse2007ViolatingTextPosition + * @memberof InlineResponse2008ViolatingTextPosition */ end?: number; } /** * * @export - * @interface InlineResponse2008 + * @interface InlineResponse2009 */ -export interface InlineResponse2008 { +export interface InlineResponse2009 { /** * The unique ID for your requested report. * @type {string} - * @memberof InlineResponse2008 + * @memberof InlineResponse2009 */ reportId?: string; /** * The record type of the report. It can be `campaign`, `adGroup`, `keyword`, or `targets`. * @type {string} - * @memberof InlineResponse2008 - */ - recordType?: string; - /** - * The status of the report. Status is one of `IN_PROGRESS`, `SUCCESS`, or `FAILURE`. - * @type {string} - * @memberof InlineResponse2008 - */ - status?: string; - /** - * Description of the status. - * @type {string} - * @memberof InlineResponse2008 - */ - statusDetails?: string; -} -/** - * - * @export - * @interface InlineResponse2009 - */ -export interface InlineResponse2009 { - /** - * The unique ID for your requested report. - * @type {string} * @memberof InlineResponse2009 */ - reportId?: string; + recordType?: string; /** * The status of the report. Status is one of `IN_PROGRESS`, `SUCCESS`, or `FAILURE`. * @type {string} @@ -2381,6 +2461,12 @@ export interface SBCategoryResponse { * @memberof SBCategoryResponse */ name?: string; + /** + * The category name translated to the specified locale in the request. + * @type {string} + * @memberof SBCategoryResponse + */ + translatedName?: string; /** * Set to `true` if the category can be targeted in a targeting expression, and `false` if not. * @type {boolean} @@ -2393,6 +2479,18 @@ export interface SBCategoryResponse { * @memberof SBCategoryResponse */ path?: string; + /** + * The path of the category within the category catalogue translated to the specified locale in the request. + * @type {string} + * @memberof SBCategoryResponse + */ + translatedPath?: string; + /** + * The estimated daily reach range of the category. Only set when supply source is `STREAMING_VIDEO` + * @type {string} + * @memberof SBCategoryResponse + */ + estimatedReach?: string; } /** * Render one or more product images and product details. @@ -4666,6 +4764,75 @@ export interface SBCreateTargetsResponseCreateTargetSuccessResults { */ targetId?: number; } +/** + * + * @export + * @interface SBCreateThemesRequest + */ +export interface SBCreateThemesRequest { + /** + * The identifier of the ad group to which the target is associated. + * @type {string} + * @memberof SBCreateThemesRequest + */ + adGroupId: string; + /** + * The identifier of the campaign to which the target is associated. + * @type {string} + * @memberof SBCreateThemesRequest + */ + campaignId?: string; + /** + * The theme target type. - KEYWORDS_RELATED_TO_YOUR_BRAND - keywords related to brands. - KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES - keywords related to your landing pages. - Note: Additional theme types may be added in the future. + * @type {string} + * @memberof SBCreateThemesRequest + */ + themeType: string; + /** + * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). + * @type {number} + * @memberof SBCreateThemesRequest + */ + bid: number; +} +/** + * + * @export + * @interface SBCreateThemesResponse + */ +export interface SBCreateThemesResponse { + /** + * Lists the successfully created theme targets. Note that theme targets in the response are correlated to theme targets in the request using the `index` field. For example, if `index` is set to `2`, the values correlate to the third theme target object in the request. + * @type {Array} + * @memberof SBCreateThemesResponse + */ + success?: Array; + /** + * Lists errors that occurred during theme target creation. Note that errors are correlated to theme target create requests by the `index` field. This field corresponds to the order of the target object in the request. For example, if `index` is set to `3`, an error occurred during creation of the fourth theme target in the request. + * @type {Array} + * @memberof SBCreateThemesResponse + */ + error?: Array; +} +/** + * + * @export + * @interface SBCreateThemesResponseSuccess + */ +export interface SBCreateThemesResponseSuccess { + /** + * Correlates the target to the target array index specified in the request. Zero-based. + * @type {number} + * @memberof SBCreateThemesResponseSuccess + */ + index?: number; + /** + * The identifier of theme target. + * @type {string} + * @memberof SBCreateThemesResponseSuccess + */ + themeId?: string; +} /** * Note that the values of each field in this object are immutable for an existing campaign. * @export @@ -6867,50 +7034,105 @@ export interface SBTargetsNegativeTargets { negativeTargets?: Array; } /** - * Applies to: | Operation | Path | |-----------| -----| |[updateCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)| PUT /sb/campaigns| |[archiveCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)|DELETE /sb/campaigns/{campaignId}|
+ * | themeType | description | |-----------|-------------| | KEYWORDS_RELATED_TO_YOUR_BRAND | keywords related to brands. | | KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES | keywords related to your landing pages. | * @export - * @interface SBUpdateCampaignResponse + * @interface SBTheme */ -export interface SBUpdateCampaignResponse { +export interface SBTheme { /** - * The campaign identifier. - * @type {number} - * @memberof SBUpdateCampaignResponse + * The theme target identifier. + * @type {string} + * @memberof SBTheme */ - campaignId?: number; + themeId?: string; /** - * An enumerated response code. + * The identifier of the ad group associated with the theme target. * @type {string} - * @memberof SBUpdateCampaignResponse + * @memberof SBTheme */ - code?: string; + adGroupId?: string; /** - * A human-readable description of the enumerated response code in the `code` field. + * The identifier of the campaign associated with the theme target. * @type {string} - * @memberof SBUpdateCampaignResponse + * @memberof SBTheme */ - details?: string; -} -/** - * |- Applies to: | Operation | Path | |-----------| -----| |[updateCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)| PUT /sb/campaigns| |[archiveCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)|DELETE /sb/campaigns/{campaignId}|
- * @export - * @interface SBUpdateCampaignResponseDefault - */ -export interface SBUpdateCampaignResponseDefault { + campaignId?: string; /** - * The campaign identifier. - * @type {number} - * @memberof SBUpdateCampaignResponseDefault + * The theme target type. - KEYWORDS_RELATED_TO_YOUR_BRAND - keywords related to brands. - KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES - keywords related to your landing pages. - Note: Additional theme types may be added in the future. + * @type {string} + * @memberof SBTheme */ - campaignId?: number; + themeType?: string; /** - * An enumerated response code. - * @type {string} - * @memberof SBUpdateCampaignResponseDefault + * + * @type {SBThemeState} + * @memberof SBTheme */ - code?: string; + state?: SBThemeState; /** - * A human-readable description of the enumerated response code in the `code` field. + * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). + * @type {number} + * @memberof SBTheme + */ + bid?: number; +} +/** + * + * @export + * @enum {string} + */ + +export enum SBThemeState { + Enabled = 'enabled', + Paused = 'paused', + Archived = 'archived' +} + +/** + * Applies to: | Operation | Path | |-----------| -----| |[updateCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)| PUT /sb/campaigns| |[archiveCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)|DELETE /sb/campaigns/{campaignId}|
+ * @export + * @interface SBUpdateCampaignResponse + */ +export interface SBUpdateCampaignResponse { + /** + * The campaign identifier. + * @type {number} + * @memberof SBUpdateCampaignResponse + */ + campaignId?: number; + /** + * An enumerated response code. + * @type {string} + * @memberof SBUpdateCampaignResponse + */ + code?: string; + /** + * A human-readable description of the enumerated response code in the `code` field. + * @type {string} + * @memberof SBUpdateCampaignResponse + */ + details?: string; +} +/** + * |- Applies to: | Operation | Path | |-----------| -----| |[updateCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)| PUT /sb/campaigns| |[archiveCampaigns](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Campaigns)|DELETE /sb/campaigns/{campaignId}|
+ * @export + * @interface SBUpdateCampaignResponseDefault + */ +export interface SBUpdateCampaignResponseDefault { + /** + * The campaign identifier. + * @type {number} + * @memberof SBUpdateCampaignResponseDefault + */ + campaignId?: number; + /** + * An enumerated response code. + * @type {string} + * @memberof SBUpdateCampaignResponseDefault + */ + code?: string; + /** + * A human-readable description of the enumerated response code in the `code` field. * @type {string} * @memberof SBUpdateCampaignResponseDefault */ @@ -7990,6 +8212,43 @@ export interface SBUpdateTargetingClauseRequest { */ bid?: number; } +/** + * + * @export + * @interface SBUpdateThemesRequest + */ +export interface SBUpdateThemesRequest { + /** + * The identifier of the theme target. + * @type {string} + * @memberof SBUpdateThemesRequest + */ + themeId: string; + /** + * The identifier of the ad group to which the target is associated. + * @type {string} + * @memberof SBUpdateThemesRequest + */ + adGroupId: string; + /** + * The identifier of the campaign to which the target is associated. + * @type {string} + * @memberof SBUpdateThemesRequest + */ + campaignId?: string; + /** + * + * @type {SBThemeState} + * @memberof SBUpdateThemesRequest + */ + state?: SBThemeState; + /** + * The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features). + * @type {number} + * @memberof SBUpdateThemesRequest + */ + bid?: number; +} /** * * @export @@ -9355,8 +9614,8 @@ export interface TargetError { export const AdGroupsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * - * @summary Gets an ad group specified by identifier. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an ad group specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} adGroupId The identifier of an existing ad group. @@ -9407,8 +9666,8 @@ export const AdGroupsApiAxiosParamCreator = function (configuration?: Configurat }; }, /** - * - * @summary Gets an array of ad groups associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an array of ad groups. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of ad groups. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -9495,8 +9754,8 @@ export const AdGroupsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AdGroupsApiAxiosParamCreator(configuration) return { /** - * - * @summary Gets an ad group specified by identifier. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an ad group specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} adGroupId The identifier of an existing ad group. @@ -9508,8 +9767,8 @@ export const AdGroupsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * - * @summary Gets an array of ad groups associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an array of ad groups. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of ad groups. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -9536,8 +9795,8 @@ export const AdGroupsApiFactory = function (configuration?: Configuration, baseP const localVarFp = AdGroupsApiFp(configuration) return { /** - * - * @summary Gets an ad group specified by identifier. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an ad group specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} adGroupId The identifier of an existing ad group. @@ -9548,8 +9807,8 @@ export const AdGroupsApiFactory = function (configuration?: Configuration, baseP return localVarFp.getAdGroup(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, adGroupId, options).then((request) => request(axios, basePath)); }, /** - * - * @summary Gets an array of ad groups associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an array of ad groups. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of ad groups. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -9666,8 +9925,8 @@ export interface AdGroupsApiListAdGroupsRequest { */ export class AdGroupsApi extends BaseAPI { /** - * - * @summary Gets an ad group specified by identifier. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an ad group specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @param {AdGroupsApiGetAdGroupRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9678,8 +9937,8 @@ export class AdGroupsApi extends BaseAPI { } /** - * - * @summary Gets an array of ad groups associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Use [POST sb/v4/adGroups/list](sponsored-brands/3-0/openapi/prod#tag/AdGroups/operation/ListSponsoredBrandsAdGroups) going forward. + * @summary Gets an array of ad groups. [PLANNED SHUTOFF DATE 1/31/2024] * @param {AdGroupsApiListAdGroupsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9722,7 +9981,7 @@ export const BidRecommendationsApiAxiosParamCreator = function (configuration?: - localVarHeaderParameter['Content-Type'] = 'application/vnd.sbbidsrecommendation.v3.1+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -9973,8 +10232,8 @@ export class BrandsApi extends BaseAPI { export const CampaignsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a campaign specified by identifier. + * **Use [POST /sb/v4/campaigns/delete](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/DeleteSponsoredBrandsCampaigns) going forward.** This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. + * @summary Archives a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} campaignId The identifier of an existing campaign. @@ -10026,7 +10285,7 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura }, /** * **Note:** To create multi-ad group campaigns use the [version 4 POST campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/CreateSponsoredBrandsCampaigns) endpoint. See the [create a Sponsored Brands campaign](https://advertising.amazon.com/help#GQFZA83P55P747BZ) topic in the Amazon Ads Support Center for more information about the campaign review process. **Note** to retrieve the state of a campaign submitted for creation, use the listCampaign operation and the campaign identifier from this operation. On SB creation, the state field is read-only.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified a Product Collection campaign will be created. Only a single video campaign can be created at a time.**
**Note** each campaign in campaign creation operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each campaign in campaign creation operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting).
**Note** that keywords or expressions *can not* be recreated for a campaign if the keyword or expression has previously been associated with a campaign and subsequently archived. - * @summary Creates one or more new Campaigns. + * @summary Creates one or more new campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBCreateCampaignRequest] An array of campaigns. @@ -10077,8 +10336,8 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura }; }, /** - * - * @summary Gets a campaign specified by identifier. + * Use [POST /sb/v4/campaigns/list](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. + * @summary Gets a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} campaignId The identifier of an existing campaign. @@ -10134,8 +10393,8 @@ 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. - * @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. + * **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 `adFormat` 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 Returns campaigns associated with the account. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of campaigns. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -10222,8 +10481,8 @@ export const CampaignsApiAxiosParamCreator = function (configuration?: Configura }; }, /** - * Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` - * @summary Updates one or more campaigns. + * Use [PUT /sb/v4/campaigns](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` + * @summary Updates one or more campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [requestBody] An array of campaigns with updated field values. @@ -10284,8 +10543,8 @@ export const CampaignsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = CampaignsApiAxiosParamCreator(configuration) return { /** - * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a campaign specified by identifier. + * **Use [POST /sb/v4/campaigns/delete](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/DeleteSponsoredBrandsCampaigns) going forward.** This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. + * @summary Archives a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} campaignId The identifier of an existing campaign. @@ -10298,7 +10557,7 @@ export const CampaignsApiFp = function(configuration?: Configuration) { }, /** * **Note:** To create multi-ad group campaigns use the [version 4 POST campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/CreateSponsoredBrandsCampaigns) endpoint. See the [create a Sponsored Brands campaign](https://advertising.amazon.com/help#GQFZA83P55P747BZ) topic in the Amazon Ads Support Center for more information about the campaign review process. **Note** to retrieve the state of a campaign submitted for creation, use the listCampaign operation and the campaign identifier from this operation. On SB creation, the state field is read-only.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified a Product Collection campaign will be created. Only a single video campaign can be created at a time.**
**Note** each campaign in campaign creation operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each campaign in campaign creation operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting).
**Note** that keywords or expressions *can not* be recreated for a campaign if the keyword or expression has previously been associated with a campaign and subsequently archived. - * @summary Creates one or more new Campaigns. + * @summary Creates one or more new campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBCreateCampaignRequest] An array of campaigns. @@ -10310,8 +10569,8 @@ export const CampaignsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * - * @summary Gets a campaign specified by identifier. + * Use [POST /sb/v4/campaigns/list](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. + * @summary Gets a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} campaignId The identifier of an existing campaign. @@ -10324,8 +10583,8 @@ 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. - * @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. + * **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 `adFormat` 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 Returns campaigns associated with the account. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of campaigns. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -10344,8 +10603,8 @@ export const CampaignsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` - * @summary Updates one or more campaigns. + * Use [PUT /sb/v4/campaigns](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` + * @summary Updates one or more campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [requestBody] An array of campaigns with updated field values. @@ -10367,8 +10626,8 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base const localVarFp = CampaignsApiFp(configuration) return { /** - * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a campaign specified by identifier. + * **Use [POST /sb/v4/campaigns/delete](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/DeleteSponsoredBrandsCampaigns) going forward.** This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. + * @summary Archives a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} campaignId The identifier of an existing campaign. @@ -10380,7 +10639,7 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base }, /** * **Note:** To create multi-ad group campaigns use the [version 4 POST campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/CreateSponsoredBrandsCampaigns) endpoint. See the [create a Sponsored Brands campaign](https://advertising.amazon.com/help#GQFZA83P55P747BZ) topic in the Amazon Ads Support Center for more information about the campaign review process. **Note** to retrieve the state of a campaign submitted for creation, use the listCampaign operation and the campaign identifier from this operation. On SB creation, the state field is read-only.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified a Product Collection campaign will be created. Only a single video campaign can be created at a time.**
**Note** each campaign in campaign creation operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each campaign in campaign creation operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting).
**Note** that keywords or expressions *can not* be recreated for a campaign if the keyword or expression has previously been associated with a campaign and subsequently archived. - * @summary Creates one or more new Campaigns. + * @summary Creates one or more new campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBCreateCampaignRequest] An array of campaigns. @@ -10391,8 +10650,8 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base return localVarFp.createCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sBCreateCampaignRequest, options).then((request) => request(axios, basePath)); }, /** - * - * @summary Gets a campaign specified by identifier. + * Use [POST /sb/v4/campaigns/list](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. + * @summary Gets a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} campaignId The identifier of an existing campaign. @@ -10404,8 +10663,8 @@ 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. - * @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. + * **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 `adFormat` 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 Returns campaigns associated with the account. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of campaigns. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -10423,8 +10682,8 @@ export const CampaignsApiFactory = function (configuration?: Configuration, base return localVarFp.listCampaigns(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, startIndex, count, stateFilter, name, portfolioIdFilter, campaignIdFilter, adFormatFilter, creativeType, options).then((request) => request(axios, basePath)); }, /** - * Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` - * @summary Updates one or more campaigns. + * Use [PUT /sb/v4/campaigns](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` + * @summary Updates one or more campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [requestBody] An array of campaigns with updated field values. @@ -10641,8 +10900,8 @@ export interface CampaignsApiUpdateCampaignsRequest { */ export class CampaignsApi extends BaseAPI { /** - * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a campaign specified by identifier. + * **Use [POST /sb/v4/campaigns/delete](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/DeleteSponsoredBrandsCampaigns) going forward.** This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. + * @summary Archives a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @param {CampaignsApiArchiveCampaignRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10654,7 +10913,7 @@ export class CampaignsApi extends BaseAPI { /** * **Note:** To create multi-ad group campaigns use the [version 4 POST campaigns](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#/Campaigns/CreateSponsoredBrandsCampaigns) endpoint. See the [create a Sponsored Brands campaign](https://advertising.amazon.com/help#GQFZA83P55P747BZ) topic in the Amazon Ads Support Center for more information about the campaign review process. **Note** to retrieve the state of a campaign submitted for creation, use the listCampaign operation and the campaign identifier from this operation. On SB creation, the state field is read-only.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified a Product Collection campaign will be created. Only a single video campaign can be created at a time.**
**Note** each campaign in campaign creation operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each campaign in campaign creation operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting).
**Note** that keywords or expressions *can not* be recreated for a campaign if the keyword or expression has previously been associated with a campaign and subsequently archived. - * @summary Creates one or more new Campaigns. + * @summary Creates one or more new campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @param {CampaignsApiCreateCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10665,8 +10924,8 @@ export class CampaignsApi extends BaseAPI { } /** - * - * @summary Gets a campaign specified by identifier. + * Use [POST /sb/v4/campaigns/list](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. + * @summary Gets a campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @param {CampaignsApiGetCampaignRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10677,8 +10936,8 @@ 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. - * @summary Gets an array of all campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria. + * **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 `adFormat` 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 Returns campaigns associated with the account. [PLANNED SHUTOFF DATE 1/31/2024] * @param {CampaignsApiListCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10689,8 +10948,8 @@ export class CampaignsApi extends BaseAPI { } /** - * Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` - * @summary Updates one or more campaigns. + * Use [PUT /sb/v4/campaigns](sponsored-brands/3-0/openapi/prod#tag/Campaigns/operation/UpdateSponsoredBrandsCampaigns) going forward. Mutable fields: * `name` * `state` * `portfolioId` * `budget` * `bidOptimization` * `bidMultiplier` * `bidAdjustments` * `endDate` + * @summary Updates one or more campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @param {CampaignsApiUpdateCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -10710,7 +10969,7 @@ export const DraftsApiAxiosParamCreator = function (configuration?: Configuratio return { /** * Creates sponsored brands draft campaigns.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified then a product collection draft is created.**
Note each draft campaign can have keywords, negative keywords, targets and negative targets with batch size of upto 100.
**Note** each draft campaign in this operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each draft campaign in this operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting). - * @summary Creates one or more new draft campaigns. + * @summary Creates one or more new draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBCreateDraftCampaignRequest] An array of draft campaigns. @@ -10762,7 +11021,7 @@ export const DraftsApiAxiosParamCreator = function (configuration?: Configuratio }, /** * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a draft campaign specified by identifier. + * @summary Archives a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} draftCampaignId The identifier of an existing draft campaign. @@ -10814,7 +11073,7 @@ export const DraftsApiAxiosParamCreator = function (configuration?: Configuratio }, /** * - * @summary Gets a draft campaign specified by identifier. + * @summary Gets a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} draftCampaignId The identifier of an existing draft campaign. @@ -10866,7 +11125,7 @@ export const DraftsApiAxiosParamCreator = function (configuration?: Configuratio }, /** * Gets an array of all draft campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
**Returns both productCollection and video draft campaigns by default. Use adFormatFilter to filter drafts by ad formats.** - * @summary Gets an array of draft campaign objects. + * @summary Gets an array of draft campaign objects. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of draft campaigns. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -10944,7 +11203,7 @@ export const DraftsApiAxiosParamCreator = function (configuration?: Configuratio }, /** * On successful submission, a campaign is created with an identifier that could be different from the original draft campaign identifier. The new identifier is returned in the response. Note that when a draft campaign is approved, the \'status\' and \'servingStatus\' fields are changed to values associated with an active campaign. - * @summary Submits one or more existing draft campaigns to the moderation approval queue. + * @summary Submits one or more existing draft campaigns to the moderation approval queue. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [requestBody] A comma-delimited list of draft campaign identifiers. Maximum length is 10 draft campaign identifiers. @@ -10996,7 +11255,7 @@ export const DraftsApiAxiosParamCreator = function (configuration?: Configuratio }, /** * - * @summary Updates one or more draft campaigns. + * @summary Updates one or more draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBUpdateDraftCampaignRequest] An array of draft campaign objects with updated values. @@ -11058,7 +11317,7 @@ export const DraftsApiFp = function(configuration?: Configuration) { return { /** * Creates sponsored brands draft campaigns.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified then a product collection draft is created.**
Note each draft campaign can have keywords, negative keywords, targets and negative targets with batch size of upto 100.
**Note** each draft campaign in this operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each draft campaign in this operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting). - * @summary Creates one or more new draft campaigns. + * @summary Creates one or more new draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBCreateDraftCampaignRequest] An array of draft campaigns. @@ -11071,7 +11330,7 @@ export const DraftsApiFp = function(configuration?: Configuration) { }, /** * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a draft campaign specified by identifier. + * @summary Archives a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} draftCampaignId The identifier of an existing draft campaign. @@ -11084,7 +11343,7 @@ export const DraftsApiFp = function(configuration?: Configuration) { }, /** * - * @summary Gets a draft campaign specified by identifier. + * @summary Gets a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} draftCampaignId The identifier of an existing draft campaign. @@ -11097,7 +11356,7 @@ export const DraftsApiFp = function(configuration?: Configuration) { }, /** * Gets an array of all draft campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
**Returns both productCollection and video draft campaigns by default. Use adFormatFilter to filter drafts by ad formats.** - * @summary Gets an array of draft campaign objects. + * @summary Gets an array of draft campaign objects. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of draft campaigns. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -11115,7 +11374,7 @@ export const DraftsApiFp = function(configuration?: Configuration) { }, /** * On successful submission, a campaign is created with an identifier that could be different from the original draft campaign identifier. The new identifier is returned in the response. Note that when a draft campaign is approved, the \'status\' and \'servingStatus\' fields are changed to values associated with an active campaign. - * @summary Submits one or more existing draft campaigns to the moderation approval queue. + * @summary Submits one or more existing draft campaigns to the moderation approval queue. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [requestBody] A comma-delimited list of draft campaign identifiers. Maximum length is 10 draft campaign identifiers. @@ -11128,7 +11387,7 @@ export const DraftsApiFp = function(configuration?: Configuration) { }, /** * - * @summary Updates one or more draft campaigns. + * @summary Updates one or more draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBUpdateDraftCampaignRequest] An array of draft campaign objects with updated values. @@ -11151,7 +11410,7 @@ export const DraftsApiFactory = function (configuration?: Configuration, basePat return { /** * Creates sponsored brands draft campaigns.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified then a product collection draft is created.**
Note each draft campaign can have keywords, negative keywords, targets and negative targets with batch size of upto 100.
**Note** each draft campaign in this operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each draft campaign in this operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting). - * @summary Creates one or more new draft campaigns. + * @summary Creates one or more new draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBCreateDraftCampaignRequest] An array of draft campaigns. @@ -11163,7 +11422,7 @@ export const DraftsApiFactory = function (configuration?: Configuration, basePat }, /** * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a draft campaign specified by identifier. + * @summary Archives a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} draftCampaignId The identifier of an existing draft campaign. @@ -11175,7 +11434,7 @@ export const DraftsApiFactory = function (configuration?: Configuration, basePat }, /** * - * @summary Gets a draft campaign specified by identifier. + * @summary Gets a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} draftCampaignId The identifier of an existing draft campaign. @@ -11187,7 +11446,7 @@ export const DraftsApiFactory = function (configuration?: Configuration, basePat }, /** * Gets an array of all draft campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
**Returns both productCollection and video draft campaigns by default. Use adFormatFilter to filter drafts by ad formats.** - * @summary Gets an array of draft campaign objects. + * @summary Gets an array of draft campaign objects. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {number} [startIndex] Sets a zero-based offset into the requested set of draft campaigns. Use in conjunction with the `count` parameter to control pagination of the returned array. @@ -11204,7 +11463,7 @@ export const DraftsApiFactory = function (configuration?: Configuration, basePat }, /** * On successful submission, a campaign is created with an identifier that could be different from the original draft campaign identifier. The new identifier is returned in the response. Note that when a draft campaign is approved, the \'status\' and \'servingStatus\' fields are changed to values associated with an active campaign. - * @summary Submits one or more existing draft campaigns to the moderation approval queue. + * @summary Submits one or more existing draft campaigns to the moderation approval queue. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [requestBody] A comma-delimited list of draft campaign identifiers. Maximum length is 10 draft campaign identifiers. @@ -11216,7 +11475,7 @@ export const DraftsApiFactory = function (configuration?: Configuration, basePat }, /** * - * @summary Updates one or more draft campaigns. + * @summary Updates one or more draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Array} [sBUpdateDraftCampaignRequest] An array of draft campaign objects with updated values. @@ -11441,7 +11700,7 @@ export interface DraftsApiUpdateDraftCampaignsRequest { export class DraftsApi extends BaseAPI { /** * Creates sponsored brands draft campaigns.
**To create a video campaign specify adFormat as \'video\'. If adFormat is not specified then a product collection draft is created.**
Note each draft campaign can have keywords, negative keywords, targets and negative targets with batch size of upto 100.
**Note** each draft campaign in this operation supports adding keywords or negative keywords with maximum list size of 100. Additional keywords or negative keywords can be added using [createKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Keywords) or [createNegativeKeywords](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative_Keywords).
**Note** each draft campaign in this operation supports adding targets or negative targets with maximum list size of 100. Additional targets or negative targets can be added using [createTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Product%20targeting) or [createNegativeTargets](https://advertising.amazon.com/API/docs/v3/reference/SponsoredBrands/Negative%20product%20targeting). - * @summary Creates one or more new draft campaigns. + * @summary Creates one or more new draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @param {DraftsApiCreateDraftCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -11453,7 +11712,7 @@ export class DraftsApi extends BaseAPI { /** * This operation is equivalent to an update operation that sets the status field to \'archived\'. Note that setting the status field to \'archived\' is permanent and can\'t be undone. See [Developer Notes](https://advertising.amazon.com/API/docs/v2/guides/developer_notes) for more information. - * @summary Archives a draft campaign specified by identifier. + * @summary Archives a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @param {DraftsApiDeleteDraftCampaignRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -11465,7 +11724,7 @@ export class DraftsApi extends BaseAPI { /** * - * @summary Gets a draft campaign specified by identifier. + * @summary Gets a draft campaign specified by identifier. [PLANNED SHUTOFF DATE 1/31/2024] * @param {DraftsApiGetDraftCampaignRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -11477,7 +11736,7 @@ export class DraftsApi extends BaseAPI { /** * Gets an array of all draft campaigns associated with the client identifier passed in the authorization header, filtered by specified criteria.
**Returns both productCollection and video draft campaigns by default. Use adFormatFilter to filter drafts by ad formats.** - * @summary Gets an array of draft campaign objects. + * @summary Gets an array of draft campaign objects. [PLANNED SHUTOFF DATE 1/31/2024] * @param {DraftsApiListDraftCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -11489,7 +11748,7 @@ export class DraftsApi extends BaseAPI { /** * On successful submission, a campaign is created with an identifier that could be different from the original draft campaign identifier. The new identifier is returned in the response. Note that when a draft campaign is approved, the \'status\' and \'servingStatus\' fields are changed to values associated with an active campaign. - * @summary Submits one or more existing draft campaigns to the moderation approval queue. + * @summary Submits one or more existing draft campaigns to the moderation approval queue. [PLANNED SHUTOFF DATE 1/31/2024] * @param {DraftsApiSubmitDraftCampaignRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -11501,7 +11760,7 @@ export class DraftsApi extends BaseAPI { /** * - * @summary Updates one or more draft campaigns. + * @summary Updates one or more draft campaigns. [PLANNED SHUTOFF DATE 1/31/2024] * @param {DraftsApiUpdateDraftCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -11681,7 +11940,7 @@ export const KeywordsApiAxiosParamCreator = function (configuration?: Configurat }; }, /** - * + * **Note**: Keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of keywords, filtered by optional 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. @@ -11881,7 +12140,7 @@ export const KeywordsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * + * **Note**: Keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of keywords, filtered by optional 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. @@ -11963,7 +12222,7 @@ export const KeywordsApiFactory = function (configuration?: Configuration, baseP return localVarFp.getKeyword(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, keywordId, locale, options).then((request) => request(axios, basePath)); }, /** - * + * **Note**: Keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of keywords, filtered by optional 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. @@ -12252,7 +12511,7 @@ export class KeywordsApi extends BaseAPI { } /** - * + * **Note**: Keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of keywords, filtered by optional criteria. * @param {KeywordsApiListKeywordsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -12496,8 +12755,8 @@ export const MediaApiAxiosParamCreator = function (configuration?: Configuration }; }, /** - * Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

- * @summary Creates an ephemeral resource (upload location) to upload Media for an Ad Program (SponsoredBrands). + * **Going forward, use [Asset library](creative-asset-library) to manage media.** Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

+ * @summary Creates an ephemeral resource (upload location). [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Program} program The Ad Program that the media will be attached to. Specify `SponsoredBrands` with creative type `Video` for Sponsored brands video campaigns. @@ -12628,8 +12887,8 @@ export const MediaApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

- * @summary Creates an ephemeral resource (upload location) to upload Media for an Ad Program (SponsoredBrands). + * **Going forward, use [Asset library](creative-asset-library) to manage media.** Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

+ * @summary Creates an ephemeral resource (upload location). [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Program} program The Ad Program that the media will be attached to. Specify `SponsoredBrands` with creative type `Video` for Sponsored brands video campaigns. @@ -12676,8 +12935,8 @@ export const MediaApiFactory = function (configuration?: Configuration, basePath return localVarFp.completeUpload(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, inlineObject, options).then((request) => request(axios, basePath)); }, /** - * Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

- * @summary Creates an ephemeral resource (upload location) to upload Media for an Ad Program (SponsoredBrands). + * **Going forward, use [Asset library](creative-asset-library) to manage media.** Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

+ * @summary Creates an ephemeral resource (upload location). [PLANNED SHUTOFF DATE 1/31/2024] * @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. * @param {Program} program The Ad Program that the media will be attached to. Specify `SponsoredBrands` with creative type `Video` for Sponsored brands video campaigns. @@ -12806,8 +13065,8 @@ export class MediaApi extends BaseAPI { } /** - * Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

- * @summary Creates an ephemeral resource (upload location) to upload Media for an Ad Program (SponsoredBrands). + * **Going forward, use [Asset library](creative-asset-library) to manage media.** Creates an ephemeral resource (upload location) to upload Media for an Ad Program. The upload location is short lived and expires in 15 minutes. Once the upload is complete, /media/complete API should be used to notify that the upload is complete.

The upload location only supports `PUT` HTTP Method to upload the media content. If the upload location expires, API user will get `403 Forbidden` response.

+ * @summary Creates an ephemeral resource (upload location). [PLANNED SHUTOFF DATE 1/31/2024] * @param {MediaApiCreateUploadResourceRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -12908,7 +13167,7 @@ export const ModerationApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async sbModerationCampaignsCampaignIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + async sbModerationCampaignsCampaignIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.sbModerationCampaignsCampaignIdGet(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignId, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, @@ -12931,7 +13190,7 @@ export const ModerationApiFactory = function (configuration?: Configuration, bas * @param {*} [options] Override http request option. * @throws {RequiredError} */ - sbModerationCampaignsCampaignIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignId: number, options?: any): AxiosPromise { + sbModerationCampaignsCampaignIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, campaignId: number, options?: any): AxiosPromise { return localVarFp.sbModerationCampaignsCampaignIdGet(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, campaignId, options).then((request) => request(axios, basePath)); }, }; @@ -13149,7 +13408,7 @@ export const NegativeKeywordsApiAxiosParamCreator = function (configuration?: Co }; }, /** - * + * **Note**: Negative keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of negative keywords, filtered by optional 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. @@ -13343,7 +13602,7 @@ export const NegativeKeywordsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * + * **Note**: Negative keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of negative keywords, filtered by optional 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. @@ -13423,7 +13682,7 @@ export const NegativeKeywordsApiFactory = function (configuration?: Configuratio return localVarFp.getNegativeKeyword(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, keywordId, options).then((request) => request(axios, basePath)); }, /** - * + * **Note**: Negative keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of negative keywords, filtered by optional 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. @@ -13697,7 +13956,7 @@ export class NegativeKeywordsApi extends BaseAPI { } /** - * + * **Note**: Negative keywords associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets an array of negative keywords, filtered by optional criteria. * @param {NegativeKeywordsApiListNegativeKeywordsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -13792,7 +14051,7 @@ export const NegativeProductTargetingApiAxiosParamCreator = function (configurat - localVarHeaderParameter['Content-Type'] = 'application/vnd.sbcreatenegativetargetsrequest.v3+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -13843,7 +14102,7 @@ export const NegativeProductTargetingApiAxiosParamCreator = function (configurat }; }, /** - * + * **Note**: Negative targets associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets a list of product negative targets associated with the client identifier passed in the authorization header, filtered by specified criteria. * @param {any} [uNKNOWNBASETYPE] A set of filters. * @param {*} [options] Override http request option. @@ -13868,7 +14127,7 @@ export const NegativeProductTargetingApiAxiosParamCreator = function (configurat - localVarHeaderParameter['Content-Type'] = 'application/vnd.sblistnegativetargetsresponse.v3+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -13906,7 +14165,7 @@ export const NegativeProductTargetingApiAxiosParamCreator = function (configurat - localVarHeaderParameter['Content-Type'] = 'application/vnd.updatenegativetargetsresponse.v3+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -13962,7 +14221,7 @@ export const NegativeProductTargetingApiFp = function(configuration?: Configurat return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * + * **Note**: Negative targets associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets a list of product negative targets associated with the client identifier passed in the authorization header, filtered by specified criteria. * @param {any} [uNKNOWNBASETYPE] A set of filters. * @param {*} [options] Override http request option. @@ -14024,7 +14283,7 @@ export const NegativeProductTargetingApiFactory = function (configuration?: Conf return localVarFp.getNegativeTarget(negativeTargetId, options).then((request) => request(axios, basePath)); }, /** - * + * **Note**: Negative targets associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets a list of product negative targets associated with the client identifier passed in the authorization header, filtered by specified criteria. * @param {any} [uNKNOWNBASETYPE] A set of filters. * @param {*} [options] Override http request option. @@ -14160,7 +14419,7 @@ export class NegativeProductTargetingApi extends BaseAPI { } /** - * + * **Note**: Negative targets associated with BrandVideo ad groups are only available in v3.2 version. * @summary Gets a list of product negative targets associated with the client identifier passed in the authorization header, filtered by specified criteria. * @param {NegativeProductTargetingApiListNegativeTargetsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -14255,7 +14514,7 @@ export const ProductTargetingApiAxiosParamCreator = function (configuration?: Co - localVarHeaderParameter['Content-Type'] = 'application/vnd.sbcreatetargetsresponse.v3+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -14320,7 +14579,7 @@ export const ProductTargetingApiAxiosParamCreator = function (configuration?: Co }; }, /** - * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. **Note**: Product targets associated with BrandVideo ad groups are only available in v3.2 version. * @param {any} [uNKNOWNBASETYPE] A set of filters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -14344,7 +14603,7 @@ export const ProductTargetingApiAxiosParamCreator = function (configuration?: Co - localVarHeaderParameter['Content-Type'] = 'application/vnd.sblisttargetsresponse.v3+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -14382,7 +14641,7 @@ export const ProductTargetingApiAxiosParamCreator = function (configuration?: Co - localVarHeaderParameter['Content-Type'] = 'application/vnd.updatetargetsresponse.v3+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; @@ -14440,7 +14699,7 @@ export const ProductTargetingApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. **Note**: Product targets associated with BrandVideo ad groups are only available in v3.2 version. * @param {any} [uNKNOWNBASETYPE] A set of filters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -14503,7 +14762,7 @@ export const ProductTargetingApiFactory = function (configuration?: Configuratio return localVarFp.getTarget(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, targetId, options).then((request) => request(axios, basePath)); }, /** - * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. **Note**: Product targets associated with BrandVideo ad groups are only available in v3.2 version. * @param {any} [uNKNOWNBASETYPE] A set of filters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -14652,7 +14911,7 @@ export class ProductTargetingApi extends BaseAPI { } /** - * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. + * Gets a list of product targets associated with the client identifier passed in the authorization header, filtered by specified criteria. **Note**: Product targets associated with BrandVideo ad groups are only available in v3.2 version. * @param {ProductTargetingApiListTargetsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -14683,7 +14942,7 @@ export class ProductTargetingApi extends BaseAPI { export const ReportsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` + * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` * @summary Downloads a previously requested report identified by `reportId`. * @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. @@ -14735,24 +14994,24 @@ export const ReportsApiAxiosParamCreator = function (configuration?: Configurati }; }, /** - * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. + * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/guides/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. * @summary Requests the creation of a report containing performance data related to Sponsored Brands campaigns. * @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. * @param {string} recordType The type of report. Valid types are `campaigns`, `adGroups`, `ads`, `targets`, and `keywords`. - * @param {InlineObject8} inlineObject8 + * @param {InlineObject10} inlineObject10 * @param {*} [options] Override http request option. * @throws {RequiredError} */ - v2HsaRecordTypeReportPost: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, recordType: string, inlineObject8: InlineObject8, options: any = {}): Promise => { + v2HsaRecordTypeReportPost: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, recordType: string, inlineObject10: InlineObject10, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('v2HsaRecordTypeReportPost', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined assertParamExists('v2HsaRecordTypeReportPost', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) // verify required parameter 'recordType' is not null or undefined assertParamExists('v2HsaRecordTypeReportPost', 'recordType', recordType) - // verify required parameter 'inlineObject8' is not null or undefined - assertParamExists('v2HsaRecordTypeReportPost', 'inlineObject8', inlineObject8) + // verify required parameter 'inlineObject10' is not null or undefined + assertParamExists('v2HsaRecordTypeReportPost', 'inlineObject10', inlineObject10) const localVarPath = `/v2/hsa/{recordType}/report` .replace(`{${"recordType"}}`, encodeURIComponent(String(recordType))); // use dummy base URL string because the URL constructor only accepts absolute URLs. @@ -14785,7 +15044,7 @@ export const ReportsApiAxiosParamCreator = function (configuration?: Configurati setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(inlineObject8, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(inlineObject10, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -14793,7 +15052,7 @@ export const ReportsApiAxiosParamCreator = function (configuration?: Configurati }; }, /** - * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports). + * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports). * @summary Returns the status of a previously requested report. * @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. @@ -14855,7 +15114,7 @@ export const ReportsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = ReportsApiAxiosParamCreator(configuration) return { /** - * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` + * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` * @summary Downloads a previously requested report identified by `reportId`. * @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. @@ -14868,21 +15127,21 @@ export const ReportsApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. + * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/guides/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. * @summary Requests the creation of a report containing performance data related to Sponsored Brands campaigns. * @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. * @param {string} recordType The type of report. Valid types are `campaigns`, `adGroups`, `ads`, `targets`, and `keywords`. - * @param {InlineObject8} inlineObject8 + * @param {InlineObject10} inlineObject10 * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, recordType: string, inlineObject8: InlineObject8, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, recordType, inlineObject8, options); + async v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, recordType: string, inlineObject10: InlineObject10, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, recordType, inlineObject10, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports). + * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports). * @summary Returns the status of a previously requested report. * @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. @@ -14890,7 +15149,7 @@ export const ReportsApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async v2ReportsReportIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + async v2ReportsReportIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.v2ReportsReportIdGet(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, reportId, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, @@ -14905,7 +15164,7 @@ export const ReportsApiFactory = function (configuration?: Configuration, basePa const localVarFp = ReportsApiFp(configuration) return { /** - * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` + * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` * @summary Downloads a previously requested report identified by `reportId`. * @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. @@ -14917,20 +15176,20 @@ export const ReportsApiFactory = function (configuration?: Configuration, basePa return localVarFp.downloadReport(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, reportId, options).then((request) => request(axios, basePath)); }, /** - * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. + * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/guides/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. * @summary Requests the creation of a report containing performance data related to Sponsored Brands campaigns. * @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. * @param {string} recordType The type of report. Valid types are `campaigns`, `adGroups`, `ads`, `targets`, and `keywords`. - * @param {InlineObject8} inlineObject8 + * @param {InlineObject10} inlineObject10 * @param {*} [options] Override http request option. * @throws {RequiredError} */ - v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, recordType: string, inlineObject8: InlineObject8, options?: any): AxiosPromise { - return localVarFp.v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, recordType, inlineObject8, options).then((request) => request(axios, basePath)); + v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, recordType: string, inlineObject10: InlineObject10, options?: any): AxiosPromise { + return localVarFp.v2HsaRecordTypeReportPost(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, recordType, inlineObject10, options).then((request) => request(axios, basePath)); }, /** - * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports). + * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports). * @summary Returns the status of a previously requested report. * @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. @@ -14938,7 +15197,7 @@ export const ReportsApiFactory = function (configuration?: Configuration, basePa * @param {*} [options] Override http request option. * @throws {RequiredError} */ - v2ReportsReportIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, reportId: string, options?: any): AxiosPromise { + v2ReportsReportIdGet(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, reportId: string, options?: any): AxiosPromise { return localVarFp.v2ReportsReportIdGet(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, reportId, options).then((request) => request(axios, basePath)); }, }; @@ -15001,10 +15260,10 @@ export interface ReportsApiV2HsaRecordTypeReportPostRequest { /** * - * @type {InlineObject8} + * @type {InlineObject10} * @memberof ReportsApiV2HsaRecordTypeReportPost */ - readonly inlineObject8: InlineObject8 + readonly inlineObject10: InlineObject10 } /** @@ -15043,7 +15302,7 @@ export interface ReportsApiV2ReportsReportIdGetRequest { */ export class ReportsApi extends BaseAPI { /** - * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` + * Gets a `307 Temporary Redirect` response that includes a `location` header with the value set to an AWS S3 path where the report is located. The path expires after 30 seconds. If the path expires before the report is downloaded, a new report request must be created. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** The report file contains one row per entity for which performance data is present. These records are represented as JSON containing the ID attribute corresponding to the `recordType`, the segment (if specified), and each of the metrics in the request. **Note**: The report files in S3 are gzipped. *Example report download* `$ curl -o /tmp/report.json.gz \"https://sandboxreports.s3.amazonaws.com/amzn1.clicksAPI.v1.m1.580149D6.c7aa92c1-ca5b-435d-bb8b-51cb26ad5731?AWSAccessKeyId=AKIAIKLHNT32USZOWVRA&Expires=1476479900&Signature=I%2F2Gd%2B8TbcPbXbBUM6ix%2BSVP3qA%3D\"` * @summary Downloads a previously requested report identified by `reportId`. * @param {ReportsApiDownloadReportRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -15055,7 +15314,7 @@ export class ReportsApi extends BaseAPI { } /** - * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. + * Use this interface to request and retrieve performance reports. **To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports).** **KDP support** Note that KDP profiles cannot currently request reports for Sponsored Brands campaigns using the API. Authors should use the advertising console to download reporting data. **Filtering** For more information, see the [Reporting FAQ](/API/docs/en-us/guides/reporting/v2/faq#can-i-filter-a-sponsored-brands-report). **Constraints of Sponsored Brands reporting** Sponsored Brands reporting data cannot be combined with Sponsored Products data into one report. Only 14-day data is available for Sponsored Brands. Attribution windows of 1, 7, and 30-day intervals are not available. **New-to-brand performance metrics** With new-to-brand metrics, advertisers can measure and optimize campaigns, as well as plan future marketing strategies to grow their customer base on Amazon. New-to-brand metrics determine whether an ad-attributed purchase was made by an existing customer or one buying a brand’s product on Amazon for the first time over the prior year. With new-to-brand metrics, advertisers receive campaign performance metrics such as total new-to-brand purchases and sales, new-to-brand purchase rate, and cost per new-to-brand customer. Advertisers now have the tools they need to estimate the cost of acquiring new customers on Amazon and identify the most efficient channels and tactics to achieve their campaign goals. * @summary Requests the creation of a report containing performance data related to Sponsored Brands campaigns. * @param {ReportsApiV2HsaRecordTypeReportPostRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -15063,11 +15322,11 @@ export class ReportsApi extends BaseAPI { * @memberof ReportsApi */ public v2HsaRecordTypeReportPost(requestParameters: ReportsApiV2HsaRecordTypeReportPostRequest, options?: any) { - return ReportsApiFp(this.configuration).v2HsaRecordTypeReportPost(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.recordType, requestParameters.inlineObject8, options).then((request) => request(this.axios, this.basePath)); + return ReportsApiFp(this.configuration).v2HsaRecordTypeReportPost(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.recordType, requestParameters.inlineObject10, options).then((request) => request(this.axios, this.basePath)); } /** - * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/reporting/v2/sponsored-ads-reports). + * To understand the call flow for asynchronous reports, see [Getting started with sponsored ads reports](/API/docs/en-us/guides/reporting/v2/sponsored-ads-reports). * @summary Returns the status of a previously requested report. * @param {ReportsApiV2ReportsReportIdGetRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -15427,11 +15686,17 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat /** * The Brand suggestions are based on a list of either category identifiers or keywords passed in the request. It is not valid to specify both category identifiers and keywords in the request. * @summary Gets a list of brand suggestions. + * @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. * @param {any} [uNKNOWNBASETYPE] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getBrandRecommendations: async (uNKNOWNBASETYPE?: any, options: any = {}): Promise => { + getBrandRecommendations: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('getBrandRecommendations', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('getBrandRecommendations', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) const localVarPath = `/sb/recommendations/targets/brand`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -15448,6 +15713,14 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) + 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.sbbrandrecommendations.v3.0+json'; @@ -15465,11 +15738,17 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat /** * Recommendations are based on the ASINs that are passed in the request. * @summary Gets a list of recommended products for targeting. + * @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. * @param {any} [uNKNOWNBASETYPE] A list of ASINs. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getProductRecommendations: async (uNKNOWNBASETYPE?: any, options: any = {}): Promise => { + getProductRecommendations: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('getProductRecommendations', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('getProductRecommendations', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) const localVarPath = `/sb/recommendations/targets/product/list`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -15486,6 +15765,14 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) + 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.sbproductrecommendations.v3.0+json'; @@ -15503,11 +15790,18 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat /** * Recommendations are based on the ASINs that are passed in the request. * @summary Gets a list of recommended categories for targeting. - * @param {InlineObject7} [inlineObject7] + * @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. + * @param {'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN'} [locale] Return the categories in the specified locale. + * @param {InlineObject9} [inlineObject9] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getTargetingCategories: async (inlineObject7?: InlineObject7, options: any = {}): Promise => { + getTargetingCategories: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, locale?: 'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN', inlineObject9?: InlineObject9, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('getTargetingCategories', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('getTargetingCategories', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) const localVarPath = `/sb/recommendations/targets/category`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); @@ -15524,14 +15818,26 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) + if (locale !== undefined) { + localVarQueryParameter['locale'] = locale; + } + + 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.sbcategoryrecommendations.v3.0+json'; + localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(inlineObject7, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(inlineObject9, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -15551,34 +15857,41 @@ export const TargetingRecommendationsApiFp = function(configuration?: Configurat /** * The Brand suggestions are based on a list of either category identifiers or keywords passed in the request. It is not valid to specify both category identifiers and keywords in the request. * @summary Gets a list of brand suggestions. + * @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. * @param {any} [uNKNOWNBASETYPE] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getBrandRecommendations(uNKNOWNBASETYPE?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getBrandRecommendations(uNKNOWNBASETYPE, options); + async getBrandRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getBrandRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, uNKNOWNBASETYPE, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * Recommendations are based on the ASINs that are passed in the request. * @summary Gets a list of recommended products for targeting. + * @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. * @param {any} [uNKNOWNBASETYPE] A list of ASINs. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getProductRecommendations(uNKNOWNBASETYPE?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getProductRecommendations(uNKNOWNBASETYPE, options); + async getProductRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getProductRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, uNKNOWNBASETYPE, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * Recommendations are based on the ASINs that are passed in the request. * @summary Gets a list of recommended categories for targeting. - * @param {InlineObject7} [inlineObject7] + * @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. + * @param {'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN'} [locale] Return the categories in the specified locale. + * @param {InlineObject9} [inlineObject9] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getTargetingCategories(inlineObject7?: InlineObject7, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getTargetingCategories(inlineObject7, options); + async getTargetingCategories(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, locale?: 'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN', inlineObject9?: InlineObject9, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getTargetingCategories(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, locale, inlineObject9, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } @@ -15594,32 +15907,39 @@ export const TargetingRecommendationsApiFactory = function (configuration?: Conf /** * The Brand suggestions are based on a list of either category identifiers or keywords passed in the request. It is not valid to specify both category identifiers and keywords in the request. * @summary Gets a list of brand suggestions. + * @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. * @param {any} [uNKNOWNBASETYPE] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getBrandRecommendations(uNKNOWNBASETYPE?: any, options?: any): AxiosPromise { - return localVarFp.getBrandRecommendations(uNKNOWNBASETYPE, options).then((request) => request(axios, basePath)); + getBrandRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options?: any): AxiosPromise { + return localVarFp.getBrandRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, uNKNOWNBASETYPE, options).then((request) => request(axios, basePath)); }, /** * Recommendations are based on the ASINs that are passed in the request. * @summary Gets a list of recommended products for targeting. + * @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. * @param {any} [uNKNOWNBASETYPE] A list of ASINs. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getProductRecommendations(uNKNOWNBASETYPE?: any, options?: any): AxiosPromise { - return localVarFp.getProductRecommendations(uNKNOWNBASETYPE, options).then((request) => request(axios, basePath)); + getProductRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options?: any): AxiosPromise { + return localVarFp.getProductRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, uNKNOWNBASETYPE, options).then((request) => request(axios, basePath)); }, /** * Recommendations are based on the ASINs that are passed in the request. * @summary Gets a list of recommended categories for targeting. - * @param {InlineObject7} [inlineObject7] + * @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. + * @param {'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN'} [locale] Return the categories in the specified locale. + * @param {InlineObject9} [inlineObject9] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getTargetingCategories(inlineObject7?: InlineObject7, options?: any): AxiosPromise { - return localVarFp.getTargetingCategories(inlineObject7, options).then((request) => request(axios, basePath)); + getTargetingCategories(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, locale?: 'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN', inlineObject9?: InlineObject9, options?: any): AxiosPromise { + return localVarFp.getTargetingCategories(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, locale, inlineObject9, options).then((request) => request(axios, basePath)); }, }; }; @@ -15630,6 +15950,20 @@ export const TargetingRecommendationsApiFactory = function (configuration?: Conf * @interface TargetingRecommendationsApiGetBrandRecommendationsRequest */ export interface TargetingRecommendationsApiGetBrandRecommendationsRequest { + /** + * The identifier of a client associated with a **Login with Amazon** account. + * @type {string} + * @memberof TargetingRecommendationsApiGetBrandRecommendations + */ + 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. + * @type {string} + * @memberof TargetingRecommendationsApiGetBrandRecommendations + */ + readonly amazonAdvertisingAPIScope: string + /** * * @type {any} @@ -15644,6 +15978,20 @@ export interface TargetingRecommendationsApiGetBrandRecommendationsRequest { * @interface TargetingRecommendationsApiGetProductRecommendationsRequest */ export interface TargetingRecommendationsApiGetProductRecommendationsRequest { + /** + * The identifier of a client associated with a **Login with Amazon** account. + * @type {string} + * @memberof TargetingRecommendationsApiGetProductRecommendations + */ + 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. + * @type {string} + * @memberof TargetingRecommendationsApiGetProductRecommendations + */ + readonly amazonAdvertisingAPIScope: string + /** * A list of ASINs. * @type {any} @@ -15658,12 +16006,33 @@ export interface TargetingRecommendationsApiGetProductRecommendationsRequest { * @interface TargetingRecommendationsApiGetTargetingCategoriesRequest */ export interface TargetingRecommendationsApiGetTargetingCategoriesRequest { + /** + * The identifier of a client associated with a **Login with Amazon** account. + * @type {string} + * @memberof TargetingRecommendationsApiGetTargetingCategories + */ + 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. + * @type {string} + * @memberof TargetingRecommendationsApiGetTargetingCategories + */ + readonly amazonAdvertisingAPIScope: string + + /** + * Return the categories in the specified locale. + * @type {'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN'} + * @memberof TargetingRecommendationsApiGetTargetingCategories + */ + readonly locale?: 'ar_AE' | 'de_DE' | 'en_AE' | 'en_AU' | 'en_CA' | 'en_GB' | 'en_IN' | 'en_SG' | 'en_US' | 'es_ES' | 'es_MX' | 'fr_CA' | 'fr_FR' | 'hi_IN' | 'it_IT' | 'ja_JP' | 'ko_KR' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'vi_VN' | 'zh_CN' + /** * - * @type {InlineObject7} + * @type {InlineObject9} * @memberof TargetingRecommendationsApiGetTargetingCategories */ - readonly inlineObject7?: InlineObject7 + readonly inlineObject9?: InlineObject9 } /** @@ -15681,8 +16050,8 @@ export class TargetingRecommendationsApi extends BaseAPI { * @throws {RequiredError} * @memberof TargetingRecommendationsApi */ - public getBrandRecommendations(requestParameters: TargetingRecommendationsApiGetBrandRecommendationsRequest = {}, options?: any) { - return TargetingRecommendationsApiFp(this.configuration).getBrandRecommendations(requestParameters.uNKNOWNBASETYPE, options).then((request) => request(this.axios, this.basePath)); + public getBrandRecommendations(requestParameters: TargetingRecommendationsApiGetBrandRecommendationsRequest, options?: any) { + return TargetingRecommendationsApiFp(this.configuration).getBrandRecommendations(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.uNKNOWNBASETYPE, options).then((request) => request(this.axios, this.basePath)); } /** @@ -15693,8 +16062,8 @@ export class TargetingRecommendationsApi extends BaseAPI { * @throws {RequiredError} * @memberof TargetingRecommendationsApi */ - public getProductRecommendations(requestParameters: TargetingRecommendationsApiGetProductRecommendationsRequest = {}, options?: any) { - return TargetingRecommendationsApiFp(this.configuration).getProductRecommendations(requestParameters.uNKNOWNBASETYPE, options).then((request) => request(this.axios, this.basePath)); + public getProductRecommendations(requestParameters: TargetingRecommendationsApiGetProductRecommendationsRequest, options?: any) { + return TargetingRecommendationsApiFp(this.configuration).getProductRecommendations(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.uNKNOWNBASETYPE, options).then((request) => request(this.axios, this.basePath)); } /** @@ -15705,8 +16074,393 @@ export class TargetingRecommendationsApi extends BaseAPI { * @throws {RequiredError} * @memberof TargetingRecommendationsApi */ - public getTargetingCategories(requestParameters: TargetingRecommendationsApiGetTargetingCategoriesRequest = {}, options?: any) { - return TargetingRecommendationsApiFp(this.configuration).getTargetingCategories(requestParameters.inlineObject7, options).then((request) => request(this.axios, this.basePath)); + public getTargetingCategories(requestParameters: TargetingRecommendationsApiGetTargetingCategoriesRequest, options?: any) { + return TargetingRecommendationsApiFp(this.configuration).getTargetingCategories(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.locale, requestParameters.inlineObject9, options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * ThemeTargetingApi - axios parameter creator + * @export + */ +export const ThemeTargetingApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Create one or more theme targets. + * @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. + * @param {InlineObject8} [inlineObject8] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sbCreateThemes: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, inlineObject8?: InlineObject8, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('sbCreateThemes', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('sbCreateThemes', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/sb/themes`; + // 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; + + // authentication bearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + 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.sbthemescreaterequest.v3+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(inlineObject8, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. Gets a list of theme targets 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. + * @param {any} [uNKNOWNBASETYPE] A set of filters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sbListThemes: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('sbListThemes', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('sbListThemes', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/sb/themes/list`; + // 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; + + // authentication bearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + 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.sbthemeslistrequest.v3+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(uNKNOWNBASETYPE, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Updates one or more theme targets. + * @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. + * @param {InlineObject7} [inlineObject7] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sbUpdateThemes: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, inlineObject7?: InlineObject7, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('sbUpdateThemes', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('sbUpdateThemes', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/sb/themes`; + // 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; + + // authentication bearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + 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.sbathemessupdaterequest.v3+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(inlineObject7, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ThemeTargetingApi - functional programming interface + * @export + */ +export const ThemeTargetingApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ThemeTargetingApiAxiosParamCreator(configuration) + return { + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Create one or more theme targets. + * @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. + * @param {InlineObject8} [inlineObject8] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async sbCreateThemes(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, inlineObject8?: InlineObject8, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.sbCreateThemes(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, inlineObject8, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. Gets a list of theme targets 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. + * @param {any} [uNKNOWNBASETYPE] A set of filters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async sbListThemes(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.sbListThemes(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, uNKNOWNBASETYPE, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Updates one or more theme targets. + * @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. + * @param {InlineObject7} [inlineObject7] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async sbUpdateThemes(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, inlineObject7?: InlineObject7, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.sbUpdateThemes(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, inlineObject7, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * ThemeTargetingApi - factory interface + * @export + */ +export const ThemeTargetingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ThemeTargetingApiFp(configuration) + return { + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Create one or more theme targets. + * @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. + * @param {InlineObject8} [inlineObject8] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sbCreateThemes(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, inlineObject8?: InlineObject8, options?: any): AxiosPromise { + return localVarFp.sbCreateThemes(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, inlineObject8, options).then((request) => request(axios, basePath)); + }, + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. Gets a list of theme targets 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. + * @param {any} [uNKNOWNBASETYPE] A set of filters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sbListThemes(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, uNKNOWNBASETYPE?: any, options?: any): AxiosPromise { + return localVarFp.sbListThemes(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, uNKNOWNBASETYPE, options).then((request) => request(axios, basePath)); + }, + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Updates one or more theme targets. + * @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. + * @param {InlineObject7} [inlineObject7] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sbUpdateThemes(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, inlineObject7?: InlineObject7, options?: any): AxiosPromise { + return localVarFp.sbUpdateThemes(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, inlineObject7, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Request parameters for sbCreateThemes operation in ThemeTargetingApi. + * @export + * @interface ThemeTargetingApiSbCreateThemesRequest + */ +export interface ThemeTargetingApiSbCreateThemesRequest { + /** + * The identifier of a client associated with a **Login with Amazon** account. + * @type {string} + * @memberof ThemeTargetingApiSbCreateThemes + */ + 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. + * @type {string} + * @memberof ThemeTargetingApiSbCreateThemes + */ + readonly amazonAdvertisingAPIScope: string + + /** + * + * @type {InlineObject8} + * @memberof ThemeTargetingApiSbCreateThemes + */ + readonly inlineObject8?: InlineObject8 +} + +/** + * Request parameters for sbListThemes operation in ThemeTargetingApi. + * @export + * @interface ThemeTargetingApiSbListThemesRequest + */ +export interface ThemeTargetingApiSbListThemesRequest { + /** + * The identifier of a client associated with a **Login with Amazon** account. + * @type {string} + * @memberof ThemeTargetingApiSbListThemes + */ + 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. + * @type {string} + * @memberof ThemeTargetingApiSbListThemes + */ + readonly amazonAdvertisingAPIScope: string + + /** + * A set of filters. + * @type {any} + * @memberof ThemeTargetingApiSbListThemes + */ + readonly uNKNOWNBASETYPE?: any +} + +/** + * Request parameters for sbUpdateThemes operation in ThemeTargetingApi. + * @export + * @interface ThemeTargetingApiSbUpdateThemesRequest + */ +export interface ThemeTargetingApiSbUpdateThemesRequest { + /** + * The identifier of a client associated with a **Login with Amazon** account. + * @type {string} + * @memberof ThemeTargetingApiSbUpdateThemes + */ + 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. + * @type {string} + * @memberof ThemeTargetingApiSbUpdateThemes + */ + readonly amazonAdvertisingAPIScope: string + + /** + * + * @type {InlineObject7} + * @memberof ThemeTargetingApiSbUpdateThemes + */ + readonly inlineObject7?: InlineObject7 +} + +/** + * ThemeTargetingApi - object-oriented interface + * @export + * @class ThemeTargetingApi + * @extends {BaseAPI} + */ +export class ThemeTargetingApi extends BaseAPI { + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Create one or more theme targets. + * @param {ThemeTargetingApiSbCreateThemesRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ThemeTargetingApi + */ + public sbCreateThemes(requestParameters: ThemeTargetingApiSbCreateThemesRequest, options?: any) { + return ThemeTargetingApiFp(this.configuration).sbCreateThemes(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.inlineObject8, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. Gets a list of theme targets associated with the client identifier passed in the authorization header, filtered by specified criteria. + * @param {ThemeTargetingApiSbListThemesRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ThemeTargetingApi + */ + public sbListThemes(requestParameters: ThemeTargetingApiSbListThemesRequest, options?: any) { + return ThemeTargetingApiFp(this.configuration).sbListThemes(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.uNKNOWNBASETYPE, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This endpoint is a PREVIEW ONLY and cannot be used as part of a request or response. + * @summary Updates one or more theme targets. + * @param {ThemeTargetingApiSbUpdateThemesRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ThemeTargetingApi + */ + public sbUpdateThemes(requestParameters: ThemeTargetingApiSbUpdateThemesRequest, options?: any) { + return ThemeTargetingApiFp(this.configuration).sbUpdateThemes(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.inlineObject7, options).then((request) => request(this.axios, this.basePath)); } } diff --git a/src/apis/models/sponsored-display-extra.ts b/src/apis/models/sponsored-display-extra.ts index 087fb5d..c4f51f6 100644 --- a/src/apis/models/sponsored-display-extra.ts +++ b/src/apis/models/sponsored-display-extra.ts @@ -1762,6 +1762,8 @@ export enum PerformanceMetric { */ export enum PerformanceMetricForSB { + Is = 'IS', + Ntb = 'NTB', Roas = 'ROAS' } @@ -2781,6 +2783,100 @@ export interface SDBudgetHistory { */ history?: Array; } +/** + * + * @export + * @interface SDBudgetRecommendation + */ +export interface SDBudgetRecommendation { + /** + * Campaign id. + * @type {string} + * @memberof SDBudgetRecommendation + */ + campaignId: string; + /** + * Recommended budget for the campaign. This will be in local currency. + * @type {number} + * @memberof SDBudgetRecommendation + */ + suggestedBudget: number; + /** + * Correlate the recommendation to the campaign index in the request. Zero-based. + * @type {number} + * @memberof SDBudgetRecommendation + */ + index: number; + /** + * + * @type {SDSevenDaysMissedOpportunities} + * @memberof SDBudgetRecommendation + */ + sevenDaysMissedOpportunities: SDSevenDaysMissedOpportunities; +} +/** + * + * @export + * @interface SDBudgetRecommendationError + */ +export interface SDBudgetRecommendationError { + /** + * The HTTP status code of the response. + * @type {string} + * @memberof SDBudgetRecommendationError + */ + code: string; + /** + * Campaign id. + * @type {string} + * @memberof SDBudgetRecommendationError + */ + campaignId: string; + /** + * Correlate the recommendation to the campaign index in the request. Zero-based. + * @type {number} + * @memberof SDBudgetRecommendationError + */ + index: number; + /** + * A human-readable description of the response. + * @type {string} + * @memberof SDBudgetRecommendationError + */ + details: string; +} +/** + * Request for budget recommendations. + * @export + * @interface SDBudgetRecommendationsRequest + */ +export interface SDBudgetRecommendationsRequest { + /** + * A list of campaign ids for which to get budget recommendations and missed opportunities. + * @type {Array} + * @memberof SDBudgetRecommendationsRequest + */ + campaignIds: Array; +} +/** + * + * @export + * @interface SDBudgetRecommendationsResponse + */ +export interface SDBudgetRecommendationsResponse { + /** + * List of successful budget recommendation for campaigns. + * @type {Array} + * @memberof SDBudgetRecommendationsResponse + */ + budgetRecommendationsSuccessResults: Array; + /** + * List of errors that occurred when generating budget recommendation. + * @type {Array} + * @memberof SDBudgetRecommendationsResponse + */ + budgetRecommendationsErrorResults: Array; +} /** * * @export @@ -3009,6 +3105,17 @@ export enum SDCostTypeV31 { Vcpm = 'vcpm' } +/** + * The type of the associated creative. If the field is empty or null, a default value of IMAGE will be used. Only supports one type (VIDEO or IMAGE) at a time. + * @export + * @enum {string} + */ + +export enum SDCreativeType { + Image = 'IMAGE', + Video = 'VIDEO' +} + /** * * @export @@ -3378,7 +3485,7 @@ export interface SDProductRecommendationsV32 { */ export interface SDProductTargetingRecommendationsSuccess { /** - * HTTP status code 200 indicating a successful response for product recomendations. + * HTTP status code 200 indicating a successful response for product recommendations. * @type {string} * @memberof SDProductTargetingRecommendationsSuccess */ @@ -3396,6 +3503,37 @@ export interface SDProductTargetingRecommendationsSuccess { */ recommendations?: Array; } +/** + * Recommendation results for product targeting. + * @export + * @interface SDProductTargetingRecommendationsSuccessV34 + */ +export interface SDProductTargetingRecommendationsSuccessV34 { + /** + * HTTP status code 200 indicating a successful response for product recommendations. + * @type {string} + * @memberof SDProductTargetingRecommendationsSuccessV34 + */ + code?: string; + /** + * A list of expressions defining the product targeting theme. The list will define an AND operator on different expressions. For example, asinPriceGreaterThan and asinReviewRatingLessThan can be used to request product recommendations which are both with greater price and less review rating compared to the goal products. Note: currently the service only support one item in the array. + * @type {Array} + * @memberof SDProductTargetingRecommendationsSuccessV34 + */ + expression?: Array; + /** + * The theme name specified in the request. + * @type {string} + * @memberof SDProductTargetingRecommendationsSuccessV34 + */ + name?: string; + /** + * A list of recommended products. + * @type {Array} + * @memberof SDProductTargetingRecommendationsSuccessV34 + */ + recommendations?: Array; +} /** * Product targeting theme definitions. * @export @@ -3435,9 +3573,9 @@ export interface SDProductTargetingThemeExpression { */ export enum SDProductTargetingThemeExpressionTypeEnum { AsinPriceGreaterThan = 'asinPriceGreaterThan', + AsinBrandSameAs = 'asinBrandSameAs', AsinReviewRatingLessThan = 'asinReviewRatingLessThan', - AsinGlanceViewsGreaterThan = 'asinGlanceViewsGreaterThan', - AsinBrandSameAs = 'asinBrandSameAs' + AsinGlanceViewsGreaterThan = 'asinGlanceViewsGreaterThan' } /** @@ -3521,6 +3659,79 @@ export enum SDRuleType { Performance = 'PERFORMANCE' } +/** + * + * @export + * @interface SDSevenDaysMissedOpportunities + */ +export interface SDSevenDaysMissedOpportunities { + /** + * Lower bound of the estimated missed sales. This will be in local currency. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedSalesLower?: number; + /** + * Upper bound of the estimated missed sales. This will be in local currency. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedSalesUpper?: number; + /** + * End date of the missed opportunities date range (YYYY-MM-DD). + * @type {string} + * @memberof SDSevenDaysMissedOpportunities + */ + endDate?: string; + /** + * Lower bound of the estimated missed impressions. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedImpressionsLower?: number; + /** + * Lower bound of the estimated missed clicks. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedClicksLower?: number; + /** + * Upper bound of the estimated missed clicks. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedClicksUpper?: number; + /** + * Upper bound of the estimated missed impressions. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedImpressionsUpper?: number; + /** + * Start date of the missed opportunities date range (YYYY-MM-DD). + * @type {string} + * @memberof SDSevenDaysMissedOpportunities + */ + startDate?: string; + /** + * Percentage of time the campaign is active with a budget. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + percentTimeInBudget?: number; + /** + * Lower bound of the estimated missed viewable impressions for vCPM campaigns. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedViewableImpressionsLower?: number; + /** + * Upper bound of the estimated missed viewable impressions for vCPM campaigns. + * @type {number} + * @memberof SDSevenDaysMissedOpportunities + */ + estimatedMissedViewableImpressionsUpper?: number; +} /** * The advertising tactic associated with the campaign. The following table lists available tactic names: |Tactic Name|Type|Description| |-----------|-----|-----------| |T00001 | |This tactic name is only applicable for the `requestReport` operation and does not apply to any other campaign management operations. Reach shoppers who showed interest in categories related to your promoted products, or target specific products or product categories on Amazon. This tactic is for use by only vendors. This tactic is used to retrieve metrics for Sponsored Display campaigns that use interest, product or category audiences, including Sponsored Display campaigns that were previously Product Display Ads campaigns.| |T00010 |Views |**Note that this advertising tactic is not currently supported. This note will be removed when this advertising tactic is available.** This is the same tactic as \'remarketing\'. Shoppers who viewed the detail pages of your advertised products or similar products.| |remarketing |Views |This is the same tactic as \'T00010\'. Shoppers who viewed the detail pages of your advertised products or similar products.| |T00020 |Products |Products: Choose individual products to show your ads in placements related to those products.
Categories: Choose individual categories to show your ads in placements related to those categories.| * @export @@ -3562,10 +3773,10 @@ export type SDTargetExpressionV31 = SDTargetingPredicateNestedV31 | SDTargetingP export interface SDTargetingBidRecommendationsRequestV31 { /** * A list of targeting clauses to receive bid recommendations for. - * @type {Array} + * @type {Array} * @memberof SDTargetingBidRecommendationsRequestV31 */ - targetingClauses: Array; + targetingClauses: Array; /** * A list of products to tailor bid recommendations for category and audience based targeting clauses. * @type {Array} @@ -3593,10 +3804,10 @@ export interface SDTargetingBidRecommendationsRequestV32 { costType: SDCostTypeV31; /** * A list of targeting clauses to receive bid recommendations for. - * @type {Array} + * @type {Array} * @memberof SDTargetingBidRecommendationsRequestV32 */ - targetingClauses: Array; + targetingClauses: Array; /** * A list of products to tailor bid recommendations for category and audience based targeting clauses. * @type {Array} @@ -3604,16 +3815,53 @@ export interface SDTargetingBidRecommendationsRequestV32 { */ products?: Array; } +/** + * Request for targeting bid recommendations. + * @export + * @interface SDTargetingBidRecommendationsRequestV33 + */ +export interface SDTargetingBidRecommendationsRequestV33 { + /** + * + * @type {SDBidOptimizationV32} + * @memberof SDTargetingBidRecommendationsRequestV33 + */ + bidOptimization: SDBidOptimizationV32; + /** + * + * @type {SDCreativeType} + * @memberof SDTargetingBidRecommendationsRequestV33 + */ + creativeType?: SDCreativeType | null; + /** + * + * @type {SDCostTypeV31} + * @memberof SDTargetingBidRecommendationsRequestV33 + */ + costType: SDCostTypeV31; + /** + * A list of targeting clauses to receive bid recommendations for. + * @type {Array} + * @memberof SDTargetingBidRecommendationsRequestV33 + */ + targetingClauses: Array; + /** + * A list of products to tailor bid recommendations for category and audience based targeting clauses. + * @type {Array} + * @memberof SDTargetingBidRecommendationsRequestV33 + */ + products?: Array; +} /** * * @export - * @interface SDTargetingBidRecommendationsRequestV32TargetingClauses + * @interface SDTargetingBidRecommendationsRequestV33TargetingClauses */ -export interface SDTargetingBidRecommendationsRequestV32TargetingClauses { +export interface SDTargetingBidRecommendationsRequestV33TargetingClauses { /** * * @type {SDTargetingClauseV31} - * @memberof SDTargetingBidRecommendationsRequestV32TargetingClauses + * @memberof SDTargetingBidRecommendationsRequestV33TargetingClauses */ targetingClause: SDTargetingClauseV31; } @@ -3754,7 +4002,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 Advertising 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 Advertising 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 */ @@ -3905,6 +4153,37 @@ export interface SDTargetingRecommendationsFailure { */ errorMessage?: string; } +/** + * A targeting recommendation failure record. + * @export + * @interface SDTargetingRecommendationsFailureV34 + */ +export interface SDTargetingRecommendationsFailureV34 { + /** + * HTTP status code indicating a failure response for targeting recomendations. + * @type {string} + * @memberof SDTargetingRecommendationsFailureV34 + */ + code?: string; + /** + * A list of expressions that failed to be applied in the product targeting theme. + * @type {Array} + * @memberof SDTargetingRecommendationsFailureV34 + */ + expression?: Array; + /** + * The theme name specified in the request. If the themes field is not provided in the request, the value of this field will be set to default. + * @type {string} + * @memberof SDTargetingRecommendationsFailureV34 + */ + name?: string; + /** + * A human friendly error message indicating the failure reasons. + * @type {string} + * @memberof SDTargetingRecommendationsFailureV34 + */ + errorMessage?: string; +} /** * Request for targeting recommendations * @export @@ -4017,6 +4296,37 @@ export interface SDTargetingRecommendationsRequestV33 { */ products: Array; } +/** + * Request for targeting recommendations + * @export + * @interface SDTargetingRecommendationsRequestV34 + */ +export interface SDTargetingRecommendationsRequestV34 { + /** + * + * @type {SDTargetingRecommendationsThemes} + * @memberof SDTargetingRecommendationsRequestV34 + */ + themes?: SDTargetingRecommendationsThemes; + /** + * A filter to indicate which types of recommendations to request. + * @type {Array} + * @memberof SDTargetingRecommendationsRequestV34 + */ + typeFilter: Array; + /** + * + * @type {SDTacticV31} + * @memberof SDTargetingRecommendationsRequestV34 + */ + tactic: SDTacticV31; + /** + * A list of products for which to get targeting recommendations + * @type {Array} + * @memberof SDTargetingRecommendationsRequestV34 + */ + products: Array; +} /** * Response to a request for targeting recommendations * @export @@ -4069,6 +4379,19 @@ export interface SDTargetingRecommendationsResponseV33 { */ recommendations?: SDTargetingRecommendationsV33; } +/** + * Response to a request for targeting recommendations + * @export + * @interface SDTargetingRecommendationsResponseV34 + */ +export interface SDTargetingRecommendationsResponseV34 { + /** + * + * @type {SDTargetingRecommendationsV34} + * @memberof SDTargetingRecommendationsResponseV34 + */ + recommendations?: SDTargetingRecommendationsV34; +} /** * The themes used to refine the recommendations. Currently only product targeting themes are supported. * @export @@ -4170,6 +4493,37 @@ export interface SDTargetingRecommendationsV33 { */ themes?: SDThemeRecommendations; } +/** + * A collection of targeting recommendations. Results will be sorted with strongest recommendations in the beginning. + * @export + * @interface SDTargetingRecommendationsV34 + */ +export interface SDTargetingRecommendationsV34 { + /** + * + * @type {SDThemeRecommendationsV34} + * @memberof SDTargetingRecommendationsV34 + */ + themes?: SDThemeRecommendationsV34; + /** + * List of recommended audience targets, broken down by audience category + * @type {Array} + * @memberof SDTargetingRecommendationsV34 + */ + audiences?: Array; + /** + * List of recommended category targets + * @type {Array} + * @memberof SDTargetingRecommendationsV34 + */ + categories?: Array; + /** + * List of recommended product targets + * @type {Array} + * @memberof SDTargetingRecommendationsV34 + */ + products?: Array; +} /** * * @export @@ -4183,6 +4537,19 @@ export interface SDThemeRecommendations { */ products?: Array; } +/** + * + * @export + * @interface SDThemeRecommendationsV34 + */ +export interface SDThemeRecommendationsV34 { + /** + * A list of product targeting theme recommendations. + * @type {Array} + * @memberof SDThemeRecommendationsV34 + */ + products?: Array; +} /** * * @export @@ -6025,6 +6392,157 @@ export class BrandSafetyRequestStatusApi extends BaseAPI { } +/** + * BudgetRecommendationsApi - axios parameter creator + * @export + */ +export const BudgetRecommendationsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * 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 - These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopted the recommended budget. These are estimates based on 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. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Returns recommended daily budget and estimated missed opportunities for campaigns + * @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. + * @param {SDBudgetRecommendationsRequest} [sDBudgetRecommendationsRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSDBudgetRecommendations: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDBudgetRecommendationsRequest?: SDBudgetRecommendationsRequest, options: any = {}): Promise => { + // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined + assertParamExists('getSDBudgetRecommendations', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) + // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined + assertParamExists('getSDBudgetRecommendations', 'amazonAdvertisingAPIScope', amazonAdvertisingAPIScope) + const localVarPath = `/sd/campaigns/budgetRecommendations`; + // 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.sdbudgetrecommendations.v3+json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(sDBudgetRecommendationsRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * BudgetRecommendationsApi - functional programming interface + * @export + */ +export const BudgetRecommendationsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = BudgetRecommendationsApiAxiosParamCreator(configuration) + return { + /** + * 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 - These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopted the recommended budget. These are estimates based on 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. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Returns recommended daily budget and estimated missed opportunities for campaigns + * @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. + * @param {SDBudgetRecommendationsRequest} [sDBudgetRecommendationsRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getSDBudgetRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDBudgetRecommendationsRequest?: SDBudgetRecommendationsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getSDBudgetRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sDBudgetRecommendationsRequest, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * BudgetRecommendationsApi - factory interface + * @export + */ +export const BudgetRecommendationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = BudgetRecommendationsApiFp(configuration) + return { + /** + * 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 - These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopted the recommended budget. These are estimates based on 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. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Returns recommended daily budget and estimated missed opportunities for campaigns + * @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. + * @param {SDBudgetRecommendationsRequest} [sDBudgetRecommendationsRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSDBudgetRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDBudgetRecommendationsRequest?: SDBudgetRecommendationsRequest, options?: any): AxiosPromise { + return localVarFp.getSDBudgetRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sDBudgetRecommendationsRequest, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Request parameters for getSDBudgetRecommendations operation in BudgetRecommendationsApi. + * @export + * @interface BudgetRecommendationsApiGetSDBudgetRecommendationsRequest + */ +export interface BudgetRecommendationsApiGetSDBudgetRecommendationsRequest { + /** + * The identifier of a client associated with a \"Login with Amazon\" account. + * @type {string} + * @memberof BudgetRecommendationsApiGetSDBudgetRecommendations + */ + 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. + * @type {string} + * @memberof BudgetRecommendationsApiGetSDBudgetRecommendations + */ + readonly amazonAdvertisingAPIScope: string + + /** + * + * @type {SDBudgetRecommendationsRequest} + * @memberof BudgetRecommendationsApiGetSDBudgetRecommendations + */ + readonly sDBudgetRecommendationsRequest?: SDBudgetRecommendationsRequest +} + +/** + * BudgetRecommendationsApi - object-oriented interface + * @export + * @class BudgetRecommendationsApi + * @extends {BaseAPI} + */ +export class BudgetRecommendationsApi extends BaseAPI { + /** + * 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 - These are the estimated additional impressions, clicks and sales the campaign might have generated had it adopted the recommended budget. These are estimates based on 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. **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * @summary Returns recommended daily budget and estimated missed opportunities for campaigns + * @param {BudgetRecommendationsApiGetSDBudgetRecommendationsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BudgetRecommendationsApi + */ + public getSDBudgetRecommendations(requestParameters: BudgetRecommendationsApiGetSDBudgetRecommendationsRequest, options?: any) { + return BudgetRecommendationsApiFp(this.configuration).getSDBudgetRecommendations(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sDBudgetRecommendationsRequest, options).then((request) => request(this.axios, this.basePath)); + } +} + + /** * BudgetRulesApi - axios parameter creator * @export @@ -6296,7 +6814,7 @@ export const BudgetRulesApiAxiosParamCreator = function (configuration?: Configu }; }, /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. * @summary Gets the budget history for a campaign 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. @@ -6603,7 +7121,7 @@ export const BudgetRulesApiFp = function(configuration?: Configuration) { return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. * @summary Gets the budget history for a campaign 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. @@ -6734,7 +7252,7 @@ export const BudgetRulesApiFactory = function (configuration?: Configuration, ba return localVarFp.getCampaignsAssociatedWithSDBudgetRule(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, budgetRuleId, pageSize, nextToken, options).then((request) => request(axios, basePath)); }, /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. * @summary Gets the budget history for a campaign 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. @@ -7172,7 +7690,7 @@ export class BudgetRulesApi extends BaseAPI { } /** - * The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. + * **Deprecation notice: This endpoint will be deprecated on August 31, 2023.** The budget history is returned for the time period specified in the required startDate and endDate parameters. The maximum time period is 90 days. * @summary Gets the budget history for a campaign specified by identifier. * @param {BudgetRulesApiGetRuleBasedBudgetHistoryForSDCampaignsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -7908,15 +8426,15 @@ export class SnapshotAPIsApi extends BaseAPI { export const TargetingRecommendationsApiAxiosParamCreator = 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: Product 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 #### Refinement 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 targets the advertised asins are required **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * 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 derived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Product 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 related products to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Refinement 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 asinCategorySameAs 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 **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @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. - * @param {SDTargetingBidRecommendationsRequestV32} [sDTargetingBidRecommendationsRequestV32] + * @param {SDTargetingBidRecommendationsRequestV33} [sDTargetingBidRecommendationsRequestV33] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getTargetBidRecommendations: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDTargetingBidRecommendationsRequestV32?: SDTargetingBidRecommendationsRequestV32, options: any = {}): Promise => { + getTargetBidRecommendations: async (amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDTargetingBidRecommendationsRequestV33?: SDTargetingBidRecommendationsRequestV33, options: any = {}): Promise => { // verify required parameter 'amazonAdvertisingAPIClientId' is not null or undefined assertParamExists('getTargetBidRecommendations', 'amazonAdvertisingAPIClientId', amazonAdvertisingAPIClientId) // verify required parameter 'amazonAdvertisingAPIScope' is not null or undefined @@ -7943,12 +8461,12 @@ export const TargetingRecommendationsApiAxiosParamCreator = function (configurat - localVarHeaderParameter['Content-Type'] = 'application/vnd.sdtargetingrecommendations.v3.2+json'; + localVarHeaderParameter['Content-Type'] = 'application/vnd.sdtargetingrecommendations.v3.3+json'; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(sDTargetingBidRecommendationsRequestV32, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(sDTargetingBidRecommendationsRequestV33, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -8019,16 +8537,16 @@ export const TargetingRecommendationsApiFp = function(configuration?: Configurat const localVarAxiosParamCreator = TargetingRecommendationsApiAxiosParamCreator(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: Product 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 #### Refinement 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 targets the advertised asins are required **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * 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 derived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Product 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 related products to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Refinement 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 asinCategorySameAs 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 **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @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. - * @param {SDTargetingBidRecommendationsRequestV32} [sDTargetingBidRecommendationsRequestV32] + * @param {SDTargetingBidRecommendationsRequestV33} [sDTargetingBidRecommendationsRequestV33] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getTargetBidRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDTargetingBidRecommendationsRequestV32?: SDTargetingBidRecommendationsRequestV32, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getTargetBidRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sDTargetingBidRecommendationsRequestV32, options); + async getTargetBidRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDTargetingBidRecommendationsRequestV33?: SDTargetingBidRecommendationsRequestV33, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getTargetBidRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sDTargetingBidRecommendationsRequestV33, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** @@ -8056,16 +8574,16 @@ export const TargetingRecommendationsApiFactory = function (configuration?: Conf const localVarFp = TargetingRecommendationsApiFp(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: Product 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 #### Refinement 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 targets the advertised asins are required **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * 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 derived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Product 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 related products to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Refinement 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 asinCategorySameAs 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 **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @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. - * @param {SDTargetingBidRecommendationsRequestV32} [sDTargetingBidRecommendationsRequestV32] + * @param {SDTargetingBidRecommendationsRequestV33} [sDTargetingBidRecommendationsRequestV33] * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getTargetBidRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDTargetingBidRecommendationsRequestV32?: SDTargetingBidRecommendationsRequestV32, options?: any): AxiosPromise { - return localVarFp.getTargetBidRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sDTargetingBidRecommendationsRequestV32, options).then((request) => request(axios, basePath)); + getTargetBidRecommendations(amazonAdvertisingAPIClientId: string, amazonAdvertisingAPIScope: string, sDTargetingBidRecommendationsRequestV33?: SDTargetingBidRecommendationsRequestV33, options?: any): AxiosPromise { + return localVarFp.getTargetBidRecommendations(amazonAdvertisingAPIClientId, amazonAdvertisingAPIScope, sDTargetingBidRecommendationsRequestV33, options).then((request) => request(axios, basePath)); }, /** * Provides a list of products to target based on the list of input ASINs. Currently the API will return up to 100 recommended products and categories. The currently available tactic identifiers are: |Tactic Name|Type|Description| |-----------|----|-----------| |T00020 |Product Targeting|Products: Choose individual products to show your ads in placements related to those products.| |T00030 |Audience Targeting|Audiences: Select individual audiences to show your ads.| **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] @@ -8105,10 +8623,10 @@ export interface TargetingRecommendationsApiGetTargetBidRecommendationsRequest { /** * - * @type {SDTargetingBidRecommendationsRequestV32} + * @type {SDTargetingBidRecommendationsRequestV33} * @memberof TargetingRecommendationsApiGetTargetBidRecommendations */ - readonly sDTargetingBidRecommendationsRequestV32?: SDTargetingBidRecommendationsRequestV32 + readonly sDTargetingBidRecommendationsRequestV33?: SDTargetingBidRecommendationsRequestV33 } /** @@ -8154,7 +8672,7 @@ export interface TargetingRecommendationsApiGetTargetRecommendationsRequest { */ export class TargetingRecommendationsApi 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: Product 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 #### Refinement 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 targets the advertised asins are required **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] + * 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 derived from the last 7 days of winning auction bids for the related targeting clause. Receive bid recommendations using the following: Product 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 related products to the advertised asins |audience(audienceSameAs=12345)|Receive a bid recommendation for the given target audience #### Refinement 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 asinCategorySameAs 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 **Requires one of these permissions**: [\"advertiser_campaign_edit\",\"advertiser_campaign_view\"] * @summary Returns a set of bid recommendations for targeting clauses * @param {TargetingRecommendationsApiGetTargetBidRecommendationsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -8162,7 +8680,7 @@ export class TargetingRecommendationsApi extends BaseAPI { * @memberof TargetingRecommendationsApi */ public getTargetBidRecommendations(requestParameters: TargetingRecommendationsApiGetTargetBidRecommendationsRequest, options?: any) { - return TargetingRecommendationsApiFp(this.configuration).getTargetBidRecommendations(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sDTargetingBidRecommendationsRequestV32, options).then((request) => request(this.axios, this.basePath)); + return TargetingRecommendationsApiFp(this.configuration).getTargetBidRecommendations(requestParameters.amazonAdvertisingAPIClientId, requestParameters.amazonAdvertisingAPIScope, requestParameters.sDTargetingBidRecommendationsRequestV33, options).then((request) => request(this.axios, this.basePath)); } /** diff --git a/src/apis/models/sponsored-display.ts b/src/apis/models/sponsored-display.ts index 66f78d3..10895ae 100644 --- a/src/apis/models/sponsored-display.ts +++ b/src/apis/models/sponsored-display.ts @@ -2,7 +2,7 @@ /* eslint-disable */ /** * Amazon Ads API for Sponsored Display - * This API enables programmatic access for campaign creation, management, and reporting for Sponsored Display campaigns. For more information on the functionality, see the [Sponsored Display Support Center](https://advertising.amazon.com/help#GTPPHE6RAWC2C4LZ). For API onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup) topic.

> This specification is available for download from the **[Advertising API developer portal](https://d3a0d0y2hgofx6.cloudfront.net/openapi/en-us/sponsored-display/3-0/openapi.yaml).** + * This API enables programmatic access for campaign creation, management, and reporting for Sponsored Display campaigns. For more information on the functionality, see the [Sponsored Display Support Center](https://advertising.amazon.com/help#GTPPHE6RAWC2C4LZ). For API onboarding information, see the [account setup](https://advertising.amazon.com/API/docs/en-us/guides/onboarding/overview) topic.

> This specification is available for download from the **[Advertising API developer portal](https://d3a0d0y2hgofx6.cloudfront.net/openapi/en-us/sponsored-display/3-0/openapi.yaml).** * * The version of the OpenAPI document: 3.0 * @@ -47,7 +47,7 @@ export interface AdGroup { */ defaultBid?: number; /** - * Bid Optimization for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Supported Tactics|Description| |----|----------|-----------|-----------| |clicks |cpc|T00020 T00030|[Default] Optimize for page visits| |conversions |cpc|T00020 T00030|Optimize for conversion| |reach |vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| + * Bid Optimization for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Description| |----|--------|-----------| |reach |vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| |clicks |cpc|[Default] Optimize for page visits.| |conversions |cpc|Optimize for conversion.| * @type {string} * @memberof AdGroup */ @@ -202,7 +202,7 @@ export interface AdGroupResponseEx { */ servingStatus?: AdGroupResponseExServingStatusEnum; /** - * Bid optimization type for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Supported Tactics|Description| |----|----------|-----------|-----------| |clicks [Default]|cpc|T00020 T00030|Optimize for page visits| |conversions|cpc|T00020 T00030|Optimize for conversion| |reach|vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| + * Bid optimization type for the Adgroup. Default behavior is to optimize for clicks. Note, reach and clicks are only accepted with productAds that include landingPageURL OFF_AMAZON_LINK. |Name|CostType|Description| |----|--------|-----------| |reach|vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| |clicks [Default]|cpc|Optimize for page visits.| |conversions|cpc|Optimize for conversion.| |leads |cpc| [PREVIEW ONLY] Optimize for lead generation.| * @type {string} * @memberof AdGroupResponseEx */ @@ -288,7 +288,7 @@ export interface BaseAdGroup { */ defaultBid?: number; /** - * Bid Optimization for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Supported Tactics|Description| |----|----------|-----------|-----------| |clicks |cpc|T00020 T00030|[Default] Optimize for page visits| |conversions |cpc|T00020 T00030|Optimize for conversion| |reach |vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| + * Bid Optimization for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Description| |----|--------|-----------| |reach |vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| |clicks |cpc|[Default] Optimize for page visits.| |conversions |cpc|Optimize for conversion.| * @type {string} * @memberof BaseAdGroup */ @@ -357,7 +357,7 @@ export interface BaseCampaign { */ endDate?: string | null; /** - * Determines how the campaign will bid and charge. |Name|Supported Tactics|Description| |----|----------|-----------| |cpc |T00020 T00030|[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm |T00020 T00030|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.| + * Determines how the campaign will bid and charge. |Name|Description| |----|----------| |cpc |[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm |The performance of this campaign is measured by the viewed impressions triggered by the ad. | To view minimum and maximum bids based on the costType, see [Limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace). * @type {string} * @memberof BaseCampaign */ @@ -401,6 +401,28 @@ export enum BaseCampaignStateEnum { Archived = 'archived' } +/** + * + * @export + * @interface BaseLocation + */ +export interface BaseLocation { + /** + * + * @type {string} + * @memberof BaseLocation + */ + state?: BaseLocationStateEnum; +} + +/** + * @export + * @enum {string} + */ +export enum BaseLocationStateEnum { + Enabled = 'enabled' +} + /** * * @export @@ -497,7 +519,7 @@ export interface BaseTargetingClause { */ state?: BaseTargetingClauseStateEnum; /** - * The bid will override the adGroup bid if specified. This field is not used for negative targeting clauses. The bid must be less than the maximum allowable bid for the campaign\'s marketplace; for a list of maximum allowable bids, find the [\"Bid constraints by marketplace\" table in our documentation overview](https://advertising.amazon.com/API/docs/en-us/get-started/overview). You cannot manually set a bid when the targeting clause\'s adGroup has an enabled optimization rule. + * The bid will override the adGroup bid if specified. This field is not used for negative targeting clauses. The bid must be less than the maximum allowable bid for the campaign\'s marketplace; for a list of maximum allowable bids, find the [\"Bid constraints by marketplace\" table in our documentation overview](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace). You cannot manually set a bid when the targeting clause\'s adGroup has an enabled optimization rule. * @type {number} * @memberof BaseTargetingClause */ @@ -791,6 +813,204 @@ export interface BrandSafetyUpdateResponse { */ requestId?: string; } +/** + * The value by which to update the budget of the budget rule. + * @export + * @enum {string} + */ + +export enum BudgetChangeType { + Percent = 'PERCENT' +} + +/** + * + * @export + * @interface BudgetIncreaseBy + */ +export interface BudgetIncreaseBy { + /** + * + * @type {BudgetChangeType} + * @memberof BudgetIncreaseBy + */ + type: BudgetChangeType; + /** + * The budget value. + * @type {number} + * @memberof BudgetIncreaseBy + */ + value: number; +} +/** + * The Error Response Object. + * @export + * @interface BudgetRuleError + */ +export interface BudgetRuleError { + /** + * An enumerated error code for machine use. + * @type {string} + * @memberof BudgetRuleError + */ + code?: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof BudgetRuleError + */ + details?: string; +} +/** + * + * @export + * @interface BudgetRuleResponse + */ +export interface BudgetRuleResponse { + /** + * An enumerated success or error code for machine use. + * @type {string} + * @memberof BudgetRuleResponse + */ + code?: string; + /** + * A human-readable description of the error, if unsuccessful + * @type {string} + * @memberof BudgetRuleResponse + */ + details?: string; + /** + * The rule identifier. + * @type {string} + * @memberof BudgetRuleResponse + */ + ruleId?: string; + /** + * + * @type {Array} + * @memberof BudgetRuleResponse + */ + associatedCampaignIds?: Array; +} +/** + * + * @export + * @interface BudgetUsageCampaign + */ +export interface BudgetUsageCampaign { + /** + * Budget usage percentage (spend / available budget) for the given budget policy. + * @type {number} + * @memberof BudgetUsageCampaign + */ + budgetUsagePercent?: number; + /** + * ID of requested resource + * @type {string} + * @memberof BudgetUsageCampaign + */ + campaignId?: string; + /** + * Last evaluation time for budget usage + * @type {string} + * @memberof BudgetUsageCampaign + */ + usageUpdatedTimestamp?: string; + /** + * An index to maintain order of the campaignIds + * @type {number} + * @memberof BudgetUsageCampaign + */ + index?: number; + /** + * Budget amount of resource requested + * @type {number} + * @memberof BudgetUsageCampaign + */ + budget?: number; +} +/** + * + * @export + * @interface BudgetUsageCampaignBatchError + */ +export interface BudgetUsageCampaignBatchError { + /** + * An enumerated error code for machine use. + * @type {string} + * @memberof BudgetUsageCampaignBatchError + */ + code?: string; + /** + * ID of requested resource + * @type {string} + * @memberof BudgetUsageCampaignBatchError + */ + campaignId?: string; + /** + * An index to maintain order of the campaignIds + * @type {number} + * @memberof BudgetUsageCampaignBatchError + */ + index?: number; + /** + * A human-readable description of the response. + * @type {string} + * @memberof BudgetUsageCampaignBatchError + */ + details?: string; +} +/** + * + * @export + * @interface BudgetUsageCampaignRequest + */ +export interface BudgetUsageCampaignRequest { + /** + * A list of campaign IDs + * @type {Array} + * @memberof BudgetUsageCampaignRequest + */ + campaignIds?: Array; +} +/** + * + * @export + * @interface BudgetUsageCampaignResponse + */ +export interface BudgetUsageCampaignResponse { + /** + * List of budget usage percentages that were successfully pulled + * @type {Array} + * @memberof BudgetUsageCampaignResponse + */ + success?: Array; + /** + * List of budget usage percentages that failed to pull + * @type {Array} + * @memberof BudgetUsageCampaignResponse + */ + error?: Array; +} +/** + * The Error Response Object. + * @export + * @interface BudgetUsageError + */ +export interface BudgetUsageError { + /** + * An enumerated error code for machine use. + * @type {string} + * @memberof BudgetUsageError + */ + code?: string; + /** + * A human-readable description of the response. + * @type {string} + * @memberof BudgetUsageError + */ + details?: string; +} /** * * @export @@ -828,7 +1048,7 @@ export interface Campaign { */ endDate?: string | null; /** - * Determines how the campaign will bid and charge. |Name|Supported Tactics|Description| |----|----------|-----------| |cpc |T00020 T00030|[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm |T00020 T00030|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.| + * Determines how the campaign will bid and charge. |Name|Description| |----|----------| |cpc |[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm |The performance of this campaign is measured by the viewed impressions triggered by the ad. | To view minimum and maximum bids based on the costType, see [Limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace). * @type {string} * @memberof Campaign */ @@ -863,6 +1083,12 @@ export interface Campaign { * @memberof Campaign */ deliveryProfile?: CampaignDeliveryProfileEnum; + /** + * + * @type {RuleBasedBudget} + * @memberof Campaign + */ + ruleBasedBudget?: RuleBasedBudget; } /** @@ -921,6 +1147,12 @@ export interface CampaignAllOf { * @memberof CampaignAllOf */ deliveryProfile?: CampaignAllOfDeliveryProfileEnum; + /** + * + * @type {RuleBasedBudget} + * @memberof CampaignAllOf + */ + ruleBasedBudget?: RuleBasedBudget; } /** @@ -1023,7 +1255,7 @@ export interface CampaignResponseEx { */ servingStatus?: CampaignResponseExServingStatusEnum; /** - * Determines how the campaign will bid and charge. |Name|Supported Tactics|Description| |----|----------|-----------| |cpc |T00020 T00030|[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm|T00020 T00030|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.| + * Determines how the campaign will bid and charge. |Name|Description| |----|----------|-----------| |cpc |[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.| * @type {string} * @memberof CampaignResponseEx */ @@ -1040,6 +1272,12 @@ export interface CampaignResponseEx { * @memberof CampaignResponseEx */ lastUpdatedDate?: number; + /** + * + * @type {RuleBasedBudget} + * @memberof CampaignResponseEx + */ + ruleBasedBudget?: RuleBasedBudget; } /** @@ -1083,6 +1321,19 @@ export enum CampaignResponseExCostTypeEnum { Vcpm = 'vcpm' } +/** + * The comparison operator. + * @export + * @enum {string} + */ + +export enum ComparisonOperator { + GreaterThan = 'GREATER_THAN', + LessThan = 'LESS_THAN', + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO' +} + /** * * @export @@ -1108,7 +1359,7 @@ export interface CreateAdGroup { */ defaultBid?: number; /** - * Bid Optimization for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Supported Tactics|Description| |----|----------|-----------|-----------| |clicks |cpc|T00020 T00030|[Default] Optimize for page visits| |conversions |cpc|T00020 T00030|Optimize for conversion| |reach |vcpm|T00020 T00030|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| + * Bid Optimization for the Adgroup. Default behavior is to optimize for clicks. |Name|CostType|Description| |----|--------|-----------| |reach |vcpm|Optimize for viewable impressions. $1 is the minimum bid for vCPM.| |clicks |cpc|[Default] Optimize for page visits.| |conversions |cpc|Optimize for conversion.| * @type {string} * @memberof CreateAdGroup */ @@ -1172,6 +1423,19 @@ export interface CreateAssociatedOptimizationRulesRequest { */ optimizationRuleIds?: Array; } +/** + * + * @export + * @interface CreateBudgetRulesResponse + */ +export interface CreateBudgetRulesResponse { + /** + * + * @type {Array} + * @memberof CreateBudgetRulesResponse + */ + responses?: Array; +} /** * * @export @@ -1209,7 +1473,7 @@ export interface CreateCampaign { */ endDate?: string | null; /** - * Determines how the campaign will bid and charge. |Name|Supported Tactics|Description| |----|----------|-----------| |cpc |T00020 T00030|[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm |T00020 T00030|The performance of this campaign is measured by the viewed impressions triggered by the ad. $1 is the minimum bid for vCPM.| + * Determines how the campaign will bid and charge. |Name|Description| |----|----------| |cpc |[Default] The performance of this campaign is measured by the clicks triggered by the ad.| |vcpm |The performance of this campaign is measured by the viewed impressions triggered by the ad. | To view minimum and maximum bids based on the costType, see [Limits](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace). * @type {string} * @memberof CreateCampaign */ @@ -1297,6 +1561,59 @@ export interface CreateCreative { */ properties: CreativeProperties; } +/** + * + * @export + * @interface CreateLocation + */ +export interface CreateLocation { + /** + * + * @type {string} + * @memberof CreateLocation + */ + state: CreateLocationStateEnum; + /** + * The identifier of the ad group. + * @type {number} + * @memberof CreateLocation + */ + adGroupId: number; + /** + * The location definition. + * @type {Array} + * @memberof CreateLocation + */ + expression: Array; +} + +/** + * @export + * @enum {string} + */ +export enum CreateLocationStateEnum { + Enabled = 'enabled' +} + +/** + * + * @export + * @interface CreateLocationAllOf + */ +export interface CreateLocationAllOf { + /** + * The identifier of the ad group. + * @type {number} + * @memberof CreateLocationAllOf + */ + adGroupId?: number; + /** + * The location definition. + * @type {Array} + * @memberof CreateLocationAllOf + */ + expression?: Array; +} /** * * @export @@ -1441,6 +1758,24 @@ export interface CreateProductAd { * @memberof CreateProductAd */ campaignId: number; + /** + * The URL where customers will land after clicking on its link. Must be provided if a LandingPageType is set. Please note that if a single product ad sets the landing page url, only one product ad can be added to the ad group. This field is not supported when using ASIN or SKU fields. ||Specifications| |------------------|------------------| |LandingPageType| Description| |STORE| Not yet supported. The url should be in the format of https://www.amazon.com/stores/_* (using a correct Amazon url based on the marketplace)| |MOMENT| Not yet supported. The url should be in the format of https://www.amazon.com/moments/promotion/{campaignId} (using a correct Amazon url based on the marketplace)| |OFF_AMAZON_LINK| The url should be in the format of https://www.****.com. Note that this LandingPageType is not supported when using ASIN or SKU fields. A custom creative of headline, logo, image are require for this LandingPageType. | + * @type {string} + * @memberof CreateProductAd + */ + landingPageURL?: string; + /** + * + * @type {LandingPageType} + * @memberof CreateProductAd + */ + landingPageType?: LandingPageType; + /** + * The name of the ad. Note that this field is not supported when using ASIN or SKU fields. + * @type {string} + * @memberof CreateProductAd + */ + adName?: string; /** * The ASIN of the product advertised by the product ad. * @type {string} @@ -1483,6 +1818,24 @@ export interface CreateProductAdAllOf { * @memberof CreateProductAdAllOf */ campaignId?: number; + /** + * The URL where customers will land after clicking on its link. Must be provided if a LandingPageType is set. Please note that if a single product ad sets the landing page url, only one product ad can be added to the ad group. This field is not supported when using ASIN or SKU fields. ||Specifications| |------------------|------------------| |LandingPageType| Description| |STORE| Not yet supported. The url should be in the format of https://www.amazon.com/stores/_* (using a correct Amazon url based on the marketplace)| |MOMENT| Not yet supported. The url should be in the format of https://www.amazon.com/moments/promotion/{campaignId} (using a correct Amazon url based on the marketplace)| |OFF_AMAZON_LINK| The url should be in the format of https://www.****.com. Note that this LandingPageType is not supported when using ASIN or SKU fields. A custom creative of headline, logo, image are require for this LandingPageType. | + * @type {string} + * @memberof CreateProductAdAllOf + */ + landingPageURL?: string; + /** + * + * @type {LandingPageType} + * @memberof CreateProductAdAllOf + */ + landingPageType?: LandingPageType; + /** + * The name of the ad. Note that this field is not supported when using ASIN or SKU fields. + * @type {string} + * @memberof CreateProductAdAllOf + */ + adName?: string; /** * The ASIN of the product advertised by the product ad. * @type {string} @@ -1496,6 +1849,19 @@ export interface CreateProductAdAllOf { */ sku?: string; } +/** + * + * @export + * @interface CreateSDBudgetRulesRequest + */ +export interface CreateSDBudgetRulesRequest { + /** + * A list of budget rule details. + * @type {Array} + * @memberof CreateSDBudgetRulesRequest + */ + budgetRulesDetails?: Array; +} /** * * @export @@ -1509,7 +1875,7 @@ export interface CreateTargetingClause { */ state?: CreateTargetingClauseStateEnum; /** - * The bid will override the adGroup bid if specified. This field is not used for negative targeting clauses. The bid must be less than the maximum allowable bid for the campaign\'s marketplace; for a list of maximum allowable bids, find the [\"Bid constraints by marketplace\" table in our documentation overview](https://advertising.amazon.com/API/docs/en-us/get-started/overview). You cannot manually set a bid when the targeting clause\'s adGroup has an enabled optimization rule. + * The bid will override the adGroup bid if specified. This field is not used for negative targeting clauses. The bid must be less than the maximum allowable bid for the campaign\'s marketplace; for a list of maximum allowable bids, find the [\"Bid constraints by marketplace\" table in our documentation overview](https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace). You cannot manually set a bid when the targeting clause\'s adGroup has an enabled optimization rule. * @type {number} * @memberof CreateTargetingClause */ @@ -1527,7 +1893,7 @@ export interface CreateTargetingClause { */ expressionType: CreateTargetingClauseExpressionTypeEnum; /** - * The targeting expression to match against. ------- Applicable to contextual targeting (T00020) ------- * A \'TargetingExpression\' in a contextual targeting campaign can only contain \'TargetingPredicate\' components. * Expressions must specify either a category predicate or an ASIN predicate, but never both. * Only one category may be specified per targeting expression. * Only one brand may be specified per targeting expression. * Only one asin may be specified per targeting expression. * To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression. ------- Applicable to audience targeting (T00030) ------- * A \'TargetingExpression\' in an audience campaign can only contain \'TargetingPredicateNested\' components. * Expressions must specify either auto ASIN-grain (exact products), manual ASIN-grain (similar products), or manual category-grain targeting. * **Future** To exclude parts of an audience, specify a TargetingPredicateNested component that contains a negative TargetingPredicate type. + * The targeting expression to match against. ------- Applicable to contextual targeting (T00020) ------- * A \'TargetingExpression\' in a contextual targeting campaign can only contain \'TargetingPredicate\' components. * Expressions must specify either a category predicate or an ASIN predicate, but never both. * Only one category may be specified per targeting expression. * Only one brand may be specified per targeting expression. * Only one asin may be specified per targeting expression. * To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression. ------- Applicable to audience targeting (T00030) ------- * A \'TargetingExpression\' in an audience campaign can only contain \'TargetingPredicateNested\' components. * Expressions must specify either auto ASIN-grain (exact products), manual ASIN-grain (similar products), or manual category-grain targeting. * @type {Array} * @memberof CreateTargetingClause */ @@ -1571,7 +1937,7 @@ export interface CreateTargetingClauseAllOf { */ expressionType?: CreateTargetingClauseAllOfExpressionTypeEnum; /** - * The targeting expression to match against. ------- Applicable to contextual targeting (T00020) ------- * A \'TargetingExpression\' in a contextual targeting campaign can only contain \'TargetingPredicate\' components. * Expressions must specify either a category predicate or an ASIN predicate, but never both. * Only one category may be specified per targeting expression. * Only one brand may be specified per targeting expression. * Only one asin may be specified per targeting expression. * To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression. ------- Applicable to audience targeting (T00030) ------- * A \'TargetingExpression\' in an audience campaign can only contain \'TargetingPredicateNested\' components. * Expressions must specify either auto ASIN-grain (exact products), manual ASIN-grain (similar products), or manual category-grain targeting. * **Future** To exclude parts of an audience, specify a TargetingPredicateNested component that contains a negative TargetingPredicate type. + * The targeting expression to match against. ------- Applicable to contextual targeting (T00020) ------- * A \'TargetingExpression\' in a contextual targeting campaign can only contain \'TargetingPredicate\' components. * Expressions must specify either a category predicate or an ASIN predicate, but never both. * Only one category may be specified per targeting expression. * Only one brand may be specified per targeting expression. * Only one asin may be specified per targeting expression. * To exclude a brand from a targeting expression you must create a negative targeting expression in the same ad group as the positive targeting expression. ------- Applicable to audience targeting (T00030) ------- * A \'TargetingExpression\' in an audience campaign can only contain \'TargetingPredicateNested\' components. * Expressions must specify either auto ASIN-grain (exact products), manual ASIN-grain (similar products), or manual category-grain targeting. * @type {Array} * @memberof CreateTargetingClauseAllOf */ @@ -1915,6 +2281,24 @@ export interface CreativePreviewConfiguration { * @memberof CreativePreviewConfiguration */ products?: Array; + /** + * The URL where customers will land after clicking on its link. Must be provided if a LandingPageType is set. Please note that if a single product ad sets the landing page url, only one product ad can be added to the ad group. This field is not supported when using ASIN or SKU fields. ||Specifications| |------------------|------------------| |LandingPageType| Description| |STORE| Not yet supported. The url should be in the format of https://www.amazon.com/stores/_* (using a correct Amazon url based on the marketplace)| |MOMENT| Not yet supported. The url should be in the format of https://www.amazon.com/moments/promotion/{campaignId} (using a correct Amazon url based on the marketplace)| |OFF_AMAZON_LINK| The url should be in the format of https://www.****.com. Note that this LandingPageType is not supported when using ASIN or SKU fields. A custom creative of headline, logo, image are require for this LandingPageType. | + * @type {string} + * @memberof CreativePreviewConfiguration + */ + landingPageURL?: string; + /** + * + * @type {LandingPageType} + * @memberof CreativePreviewConfiguration + */ + landingPageType?: LandingPageType; + /** + * The name of the ad. Note that this field is not supported when using ASIN or SKU fields. + * @type {string} + * @memberof CreativePreviewConfiguration + */ + adName?: string; /** * Preview the creative as if it is on a mobile environment. * @type {boolean} @@ -1978,6 +2362,12 @@ export interface CreativePreviewRequest { * @memberof CreativePreviewRequest */ previewConfiguration: CreativePreviewConfiguration; + /** + * + * @type {Array} + * @memberof CreativePreviewRequest + */ + previewConfigurations?: Array; } /** * @@ -1991,6 +2381,12 @@ export interface CreativePreviewResponse { * @memberof CreativePreviewResponse */ previewHtml: string; + /** + * + * @type {Array} + * @memberof CreativePreviewResponse + */ + previewHtmls?: Array; } /** * Select customizations on your creative from any combination of headline, logo, and custom image. @@ -2023,11 +2419,47 @@ export interface CreativeProperties { */ squareCustomImage?: Image; /** - * - * @type {Video} + * An optional collection of 1:1 square images which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. + * @type {Array} * @memberof CreativeProperties */ - video?: Video; + squareImages?: Array; + /** + * An optional collection of 16:9 landscape images which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. + * @type {Array} + * @memberof CreativeProperties + */ + landscapeImages?: Array; + /** + * An optional collection of 9:16 portrait images which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. + * @type {Array} + * @memberof CreativeProperties + */ + portraitImages?: Array; + /** + * + * @type {Video} + * @memberof CreativeProperties + */ + video?: Video; + /** + * An optional collection of 1:1 square videos which are displayed on the ad. This operation is a PREVIEW ONLY. This note will be removed once this functionality becomes available. + * @type {Array