{"openapi":"3.0.1","info":{"title":"Tool4seller API","description":"Tool4seller API provides programmatic access to store operations and analytics data.\n\n## Supported APIs\n\n- Stores: list authorized seller accounts and marketplaces.\n- Sales: query store-level sales summaries and SKU-level sales items.\n- Inventories: query listing inventory data.\n- Inventory Alerts: query low stock, excess stock, long-term storage, and recommended removal alerts.\n- Inbound Shipments: query FBA inbound shipments and shipment items.\n- Advertising Product Performance: query advertising performance grouped by product identifiers.\n- Advertising Campaign Performance: list daily performance or search date-range aggregated campaigns with campaign attribute and metric filters.\n- Advertising Targeting Performance: search keyword and ASIN target performance with current target attribute filters and date-range aggregated metric filters, and request Sponsored Products, Sponsored Brands, or Sponsored Display target bid recommendations.\n- Profit Products: query product profit performance.\n- Review Tracking: query tracked product review ratings.\n- Sales Traffic Products: query product traffic performance.\n\n## Authentication\n\nAll requests require the `TS-API-KEY` request header.\n\n```http\nTS-API-KEY: your-api-key\n```\n\n## API Versions\n\n- V2 APIs use `/v2/...` paths and are recommended for new integrations.\n- V1 APIs remain available for existing integrations.\n\n## Release Notes\n\n### 2026-08-28\n\n- Added `POST /v2/advertising/targeting/recommendations` for Amazon-recommended keyword and ASIN targeting candidates from advertised ASIN or Ad Group context.\n- Added `POST /v2/advertising/targeting/bid-recommendations` for Amazon Sponsored Products v5, Sponsored Brands v3, and Sponsored Display v3.3 suggested bids and bid ranges.\n\n### 2026-08-14\n\n- Added `POST /v2/advertising/campaigns/search` with standardized `filters.attributes` and `filters.metrics` campaign filtering.\n- Derived-metric filtering and sorting treat a positive numerator with a zero denominator as unbounded, while response values keep their existing null/zero representation.\n- Added aggregated `impressions` conditions under `filters.metrics` for advertising keyword target and ASIN target searches.\n- Updated advertising target searches to include current targets without traffic in the requested date range; unavailable ratio metrics remain `null`.\n- Updated `asinTarget` searches to include automatic targeting themes: close match, loose match, substitutes, and complements.\n- Added the current target `bid` to explicit ASIN and automatic targeting theme performance responses.\n\n### 2026-07-23\n\n- Added advanced advertising targeting search APIs: `POST /v2/advertising/targeting/keyword-targets/search` and `POST /v2/advertising/targeting/asin-targets/search`.\n- Added structured advertising target filters: current target state under `filters.attributes.states`, and aggregated `clicks`, `adOrders`, `acos`, `ctr`, and `conversionRate` conditions under `filters.metrics`.\n- Added the current target `state` to keyword target and ASIN target performance responses.\n- Changed advertising `acos` to return `null` when advertising sales are zero and `roas` to return `null` when advertising spend is zero.\n- Updated ACoS and ROAS sorting so records with unavailable values are always listed last.\n\n### 2026-06-03\n\n- Added inventory alert APIs: `GET /v2/inventory-alerts/low-stock`, `GET /v2/inventory-alerts/excess-stock`, `GET /v2/inventory-alerts/long-term-storage`, and `GET /v2/inventory-alerts/recommended-removals`.\n\n### 2026-06-02\n\n- Updated `GET /v2/inventories` with sales channel filtering (`AFN` / `MFN`), additional FBA inventory fields, and active listing results aligned with the Web inventory list.\n- Added campaign-level advertising report APIs: `GET /v2/advertising/campaigns` and `GET /v2/advertising/campaigns/daily`.\n\n### 2026-06-01\n\n- Added advertising product report APIs for SKU, ASIN, and Parent ASIN dimensions: `keyword-targets`, `asin-targets`, `search-terms`, `search-term-products`, and `purchased-products`.\n\n### 2026-05-29\n\n- Added daily advertising APIs: `GET /v2/advertising/daily`, `GET /v2/advertising/products/skus/daily`, `GET /v2/advertising/products/asins/daily`, and `GET /v2/advertising/products/parent-asins/daily`.\n- Updated advertising summary and product advertising APIs to align with web reporting, including Sponsored Brands campaign allocation and the `cpa` metric.\n- Added daily Profit product APIs for SKU, ASIN, and Parent ASIN dimensions.\n- Added product cost detail fields to Profit product APIs.\n\n### 2026-05-28\n\n- Added Sales Traffic daily APIs for store, ASIN, and Parent ASIN reporting.\n- Standardized the Sales Traffic Parent ASIN daily route as `GET /v2/sales-traffic/parent-asins/daily`.\n\n## Rate Limits\n\nEach endpoint has its own rate limit bucket. Endpoints without a store identifier are limited per API user. Endpoints that declare a `storeId` parameter are limited per API user and per store.\nAll rate-limited endpoints also share a global concurrency limit per API user.\n\nWhen a request is rate limited, the API returns HTTP `429` with these response headers:\n\n| Header | Description |\n| --- | --- |\n| `TS-Rate-Limit-Name` | Internal rate limit bucket name. |\n| `TS-Rate-Limit-Maximum-Quota` | Maximum request quota for the endpoint. |\n| `TS-Rate-Limit-Remaining` | Remaining request quota in the current bucket. |\n| `TS-Rate-Limit-Retry-After-Seconds` | Seconds to wait before retrying. |\n\n## Date Ranges\n\nV2 reporting APIs use `yyyy-MM-dd` business dates. A single request can query at most 31 days.\n\n## Money Fields\n\nMoney values are returned as structured objects:\n\n```json\n{\n  \"currencyAmount\": 10,\n  \"currencyCode\": \"USD\"\n}\n```","version":"2.0.0"},"servers":[{"url":"/api","description":"API base path"}],"security":[{"TsApiKey":[]}],"tags":[{"name":"Inventories","description":"Inventory listing APIs."},{"name":"Profit","description":"Profit analytics APIs."},{"name":"Sales Traffic","description":"Sales traffic performance APIs."},{"name":"Sales","description":"Sales analytics APIs."},{"name":"Inbound Shipments","description":"Amazon FBA inbound shipment APIs."},{"name":"Review Tracking","description":"Review tracking APIs for tracked parent ASIN ratings."},{"name":"Users","description":"User APIs."},{"name":"Stores","description":"Store APIs."},{"name":"Amazon Ads Campaign Management","description":"Read and manage Amazon Ads portfolios, campaigns, ad groups, ads, keywords, targets, and negative targeting. List operations return the latest data synchronized to Tool4seller and do not include performance metrics. Eligible production writes submit changes to Amazon Ads; Review Sandbox writes return simulated results without changing Amazon. Synchronized query data may update later. Standard state updates accept ENABLED or PAUSED. Negative placements use a restricted lifecycle: legacy PAUSED entities can become ENABLED or ARCHIVED, ENABLED entities can only become ARCHIVED, and ARCHIVED is terminal."},{"name":"Advertising","description":"Advertising performance APIs."},{"name":"Advertising Product Performance","description":"Advertising performance APIs grouped by advertised product identifiers."},{"name":"Inventory Alerts","description":"Inventory alert APIs."},{"name":"Advertising Campaign Performance","description":"Advertising performance APIs grouped by campaign."},{"name":"Advertising Targeting Performance","description":"Store-level advertising performance APIs grouped by keyword or ASIN target."}],"paths":{"/v2/advertising/targeting/recommendations":{"post":{"tags":["Advertising Targeting Performance"],"summary":"Get recommended advertising targets","description":"Read-only POST that returns Amazon-recommended keyword or ASIN targeting candidates before targeting entities are created. Supply exactly one source: adGroupId, or asins with adProduct. With adGroupId, the server resolves Campaign, advertising product, advertised ASINs, Sponsored Brands creative context, and Sponsored Display tactic from synchronized data. Sponsored Products supports KEYWORD and TARGET recommendations, Sponsored Brands supports KEYWORD and TARGET recommendations, and Sponsored Display supports TARGET recommendations only. Sponsored Display ASIN product recommendations require tactic T00020 because Amazon v3.3 does not support PRODUCT recommendations for T00030. TARGET currently means recommended ASIN product targets; category, brand, and audience recommendations are not included. Sponsored Products and Sponsored Brands TARGET responses can return nextToken for the next page. Pass that token back unchanged while keeping the original recommendation context. If Amazon rate-limits any page, the server does not retry and returns HTTP 429 with code TOO_MANY_REQUESTS; retain previously received items and retry only the failed page with the same nextToken. Each returned targeting object can be copied into a candidate bid-recommendation item together with the created adGroupId and targetingType, then used to create the selected target. This operation does not create or update advertising entities.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"getTargetRecommendations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetRecommendationRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetRecommendationResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingTargeting.Recommendations","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/targeting/keyword-targets/search":{"post":{"tags":["Advertising Targeting Performance"],"summary":"Search keyword target performance","description":"Searches store-level keyword targets after aggregating metrics by campaign, ad group, and keyword ID. Current targets without traffic in the requested date range are included; count, amount, and rate metrics are zero where applicable, while unavailable ratio metrics remain null.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"searchKeywordTargets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordTargetSearchRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingTargeting.SearchKeywordTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/targeting/bid-recommendations":{"post":{"tags":["Advertising Targeting Performance"],"summary":"Get advertising target bid recommendations","description":"Read-only POST that returns current Amazon suggested bids and bid ranges for 1 to 100 Sponsored Products, Sponsored Brands, or Sponsored Display targeting items. For an existing keyword or target, provide targetingType and targetingId only. For a candidate that has not been created, first create its ad group, then provide targetingType, adGroupId, and targeting; this operation does not create the candidate. The server resolves the advertising product, Campaign, and Ad Group from synchronized data, so clients do not provide adProduct or campaignId. Compatible items in the same product, Campaign, Ad Group, and targeting type are combined into one Amazon recommendation request. Successful group responses are cached briefly and reused for identical requests. If a group is rate-limited, earlier successful groups are preserved, later groups of the same advertising product are not sent, and other advertising products continue. Retry only retryItemIndexes after retryAfterSeconds; do not immediately repeat the complete request when requestFingerprint is unchanged. Rate-limited and deliberately skipped unfinished items both retain the backward-compatible TOO_MANY_REQUESTS code; details distinguish them.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"getBidRecommendations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingBidRecommendationRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingBidRecommendationResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingTargeting.BidRecommendations","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/targeting/asin-targets/search":{"post":{"tags":["Advertising Targeting Performance"],"summary":"Search ASIN and theme target performance","description":"Searches store-level explicit ASIN targets, product-category targets, automatic targeting themes, and keyword-group themes after aggregating metrics by campaign, ad group, and target ID. Current targets without traffic in the requested date range are included; count, amount, and rate metrics are zero where applicable, while unavailable ratio metrics remain null.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"searchAsinTargets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetSearchRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAsinTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingTargeting.SearchAsinTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/campaigns/search":{"post":{"tags":["Advertising Campaign Performance"],"summary":"Search advertising campaign performance","description":"Returns campaign performance aggregated over a date range after applying campaign attributes, including portfolio IDs, and aggregated metric filters. Campaigns without report rows remain available to zero-value metric filters.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"searchCampaigns","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignSearchRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingCampaigns.SearchCampaigns","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising-management/targets":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List targets","description":"Returns paginated positive non-keyword targets with normalized target type, match type, target value, bid, state, parent campaign and ad group details, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by up to 100 campaign IDs, a campaign-name substring, up to 100 ad group IDs, target ASIN, or one or more states. When campaignIds and campaignName are both supplied, both filters must match. This endpoint does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Optional comma-separated Amazon Ads campaign IDs, up to 100 positive numeric values. A single campaign ID is also accepted. Omit to include entities from all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"adGroupIds","in":"query","description":"Optional comma-separated Amazon Ads ad group IDs, up to 100 positive numeric values. A single ad group ID is also accepted. Omit to include entities from all ad groups.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Optional campaign-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"asin","in":"query","description":"Optional exact 10-character ASIN filter. Input is normalized to uppercase.","required":false,"schema":{"type":"string"}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Targets.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Add ASIN targets","description":"Adds 1 to 100 exact-match ASIN product targets with individual bids to one existing ad group. adGroupId is required; campaignId is optional and, when supplied, must identify the ad group's campaign. Supports Sponsored Products MANUAL campaigns and compatible Sponsored Brands or Sponsored Display product-targeting contexts; Sponsored Products AUTO campaigns are rejected. New targets are submitted in ENABLED state. Each successfully created target is immediately available from the local management query API; later Amazon Ads synchronization refreshes serving details.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createTargets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingTargets.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update targets","description":"Submits state and/or bid changes for 1 to 100 existing positive non-keyword targets. Mixed ad products are sent as separate Amazon Ads writes while preserving each item's original index. State accepts ENABLED or PAUSED; ARCHIVED is not supported. Successful items immediately synchronize only the submitted state and/or bid to local query data; servingStatus remains asynchronously synchronized.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateTargets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingTargetUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Targets.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/advertising-management/negative-targets":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List negative targets","description":"Returns paginated negative non-keyword targets with normalized target type, match type, target value, state, parent campaign and ad group details, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by up to 100 campaign IDs, a campaign-name substring, up to 100 ad group IDs, target ASIN, or one or more states. When campaignIds and campaignName are both supplied, both filters must match. This endpoint does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listNegativeTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Optional comma-separated Amazon Ads campaign IDs, up to 100 positive numeric values. A single campaign ID is also accepted. Omit to include entities from all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"adGroupIds","in":"query","description":"Optional comma-separated Amazon Ads ad group IDs, up to 100 positive numeric values. A single ad group ID is also accepted. Omit to include entities from all ad groups.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Optional campaign-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"asin","in":"query","description":"Optional exact 10-character ASIN filter. Input is normalized to uppercase.","required":false,"schema":{"type":"string"}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeTargetListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.NegativeTargets.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Add negative ASIN targets","description":"Adds 1 to 100 ASINs as negative product targets to an existing ad group. adGroupId is required; campaignId is optional and, when supplied, must identify the ad group's campaign. Supports Sponsored Products AUTO or MANUAL campaigns and compatible Sponsored Brands or Sponsored Display product-targeting contexts. Sponsored Brands ad groups with synchronized positive keywords are rejected because their negative targeting entities must also be keywords. For Sponsored Display this creates an ASIN product exclusion, not a negative keyword; negative brand creation is not exposed. Each successfully created target is immediately upserted into local management query data; later Amazon Ads synchronization refreshes serving details.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createNegativeTargets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeTargetCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeTargetCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingNegativeTargets.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update negative targets","description":"Updates 1 to 100 existing negative non-keyword targets using the restricted negative-placement lifecycle. Legacy PAUSED targets can transition to ENABLED or ARCHIVED; ENABLED targets can transition only to ARCHIVED; ARCHIVED is terminal. ENABLED uses the Amazon Ads update operation and ARCHIVED uses the delete operation while preserving each item's original index. Successful items immediately synchronize state to local query data; servingStatus remains asynchronously synchronized.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateNegativeTargets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeTargetUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.NegativeTargets.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/advertising-management/negative-keywords":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List negative keywords","description":"Returns paginated negative keywords with text, normalized match type, state, parent campaign and ad group details, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by up to 100 campaign IDs, a campaign-name substring, up to 100 ad group IDs, a keyword-text substring, or one or more states. When campaignIds and campaignName are both supplied, both filters must match. This endpoint does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listNegativeKeywords","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Optional comma-separated Amazon Ads campaign IDs, up to 100 positive numeric values. A single campaign ID is also accepted. Omit to include entities from all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"adGroupIds","in":"query","description":"Optional comma-separated Amazon Ads ad group IDs, up to 100 positive numeric values. A single ad group ID is also accepted. Omit to include entities from all ad groups.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Optional campaign-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"keywordText","in":"query","description":"Optional case-insensitive keyword-text substring filter.","required":false,"schema":{"type":"string"}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.NegativeKeywords.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Add negative keywords","description":"Adds 1 to 100 negative keywords with EXACT or PHRASE match type. Use campaignId without adGroupId for campaign-level Sponsored Products AUTO or MANUAL campaigns. Use adGroupId for ad-group-level Sponsored Products or compatible Sponsored Brands keyword-targeting campaigns; when both IDs are supplied, the ad group must belong to the campaign. Sponsored Brands ad groups with synchronized positive targets are rejected because their negative targeting entities must also be product targets. Sponsored Display does not support keywords or negative keywords. Each successfully created keyword is immediately upserted into local management query data; later Amazon Ads synchronization refreshes serving details.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createNegativeKeywords","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingNegativeKeywords.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update negative keywords","description":"Updates 1 to 100 existing negative keywords using the restricted negative-placement lifecycle. Legacy PAUSED keywords can transition to ENABLED or ARCHIVED; ENABLED keywords can transition only to ARCHIVED; ARCHIVED is terminal. ENABLED uses the Amazon Ads update operation and ARCHIVED uses the delete operation while preserving each item's original index. Successful items immediately synchronize state to local query data; servingStatus remains asynchronously synchronized.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateNegativeKeywords","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.NegativeKeywords.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/advertising-management/keywords":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List keywords","description":"Returns paginated positive keywords and Sponsored Brands theme targets with text, SDK match type, bid, state, parent campaign and ad group details, and Amazon creation and last-update times as UTC ISO-8601 instants. Theme targets may have empty keywordText and use match types such as KEYWORDS_RELATED_TO_YOUR_BRAND or KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES. Filter by up to 100 campaign IDs, a campaign-name substring, up to 100 ad group IDs, a keyword-text substring, or one or more states. When campaignIds and campaignName are both supplied, both filters must match. This endpoint does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listKeywords","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Optional comma-separated Amazon Ads campaign IDs, up to 100 positive numeric values. A single campaign ID is also accepted. Omit to include entities from all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"adGroupIds","in":"query","description":"Optional comma-separated Amazon Ads ad group IDs, up to 100 positive numeric values. A single ad group ID is also accepted. Omit to include entities from all ad groups.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Optional campaign-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"keywordText","in":"query","description":"Optional case-insensitive keyword-text substring filter.","required":false,"schema":{"type":"string"}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Keywords.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Add keywords","description":"Adds 1 to 100 keywords with individual bids and BROAD, PHRASE, or EXACT match type to one existing ad group. adGroupId is required; campaignId is optional and, when supplied, must identify the ad group's campaign. Supports Sponsored Products MANUAL and compatible Sponsored Brands keyword-targeting campaigns. Sponsored Products AUTO and Sponsored Display campaigns do not support positive keyword creation. New keywords are submitted in ENABLED state. Each successfully created keyword is immediately available from the local management query API; later Amazon Ads synchronization refreshes serving details.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createKeywords","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingKeywords.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update keywords","description":"Submits state and/or bid changes for 1 to 100 existing positive keywords. Mixed ad products are sent as separate Amazon Ads writes while preserving each item's original index. State accepts ENABLED or PAUSED; ARCHIVED is not supported. Successful items immediately synchronize only the submitted state and/or bid to local query data; servingStatus remains asynchronously synchronized.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateKeywords","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Keywords.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/advertising-management/campaigns":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List campaigns","description":"Returns paginated campaign settings for a store, including ad product, AUTO or MANUAL targeting type, state, serving status, daily budget, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by portfolio IDs, one or more states, a campaign-name substring, or a product ad's exact SKU or ASIN. Multiple filters use AND semantics and are applied before pagination. This endpoint returns locally synchronized management data and does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listCampaigns_1","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"portfolioIds","in":"query","description":"Optional comma-separated Amazon Ads portfolio IDs, up to 100 positive numeric values. A single portfolio ID is also accepted. Omit to include all portfolios.","required":false,"schema":{"type":"string","default":""}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"name","in":"query","description":"Optional campaign-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"sku","in":"query","description":"Optional exact product-ad SKU filter. Matching campaigns are resolved before pagination.","required":false,"schema":{"type":"string"}},{"name":"asin","in":"query","description":"Optional exact 10-character ASIN filter. Input is normalized to uppercase.","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingManagementCampaignListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Campaigns.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Create Sponsored Products campaigns","description":"Creates 1 to 100 ENABLED campaigns. Each campaign requires adProduct, name, MANUAL or AUTO targetingType, and dailyBudget. adProduct currently accepts SPONSORED_PRODUCTS only; the explicit field is reserved for future Sponsored Brands and Sponsored Display support. startDate and endDate accept yyyy-MM-dd business dates. The server converts a future start date to the beginning of that day in the store marketplace time zone, uses the current store-local time when startDate is today or omitted, and converts endDate to 23:59:59 on that day. A start date cannot be earlier than the current store-local date. portfolioId, bidStrategy, and placementBidAdjustments are optional. bidStrategy defaults to DYNAMIC_DOWN_ONLY; placement percentages accept 0 through 900. The API derives marketplaceScope=SINGLE_MARKETPLACE, countries and marketplaces from the store, maps AUTO to autoCreateTargets=true, always sends state=ENABLED, and fixes offAmazonBudgetControlStrategy=MINIMIZE_SPEND so ads are limited to Amazon owned-and-operated properties by default. Successfully created campaigns are immediately upserted into local management query data; later Amazon Ads synchronization refreshes serving details.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createCampaigns","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Campaigns.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update campaigns","description":"Submits name, state, and/or daily budget changes for 1 to 100 existing campaigns. A request may mix Sponsored Products, Sponsored Brands, and Sponsored Display campaigns; the service sends separate Amazon Ads writes per ad product and preserves each item's original index. One ad product group can fail without preventing later groups from running, so the response may contain both successful and failed items. State accepts ENABLED or PAUSED; ARCHIVED is not supported. For each successful item, only the submitted fields are immediately synchronized to the local campaign row. Batch writes are not transactional.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateCampaigns","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Campaigns.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/advertising-management/ads":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List ads","description":"Returns paginated product and Sponsored Brands ads with state, serving status, parent campaign and ad group details, available creative identifiers such as SKU, ASIN, or name, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by up to 100 campaign IDs, up to 100 ad group IDs, or one or more states. This endpoint does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listAds","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Optional comma-separated Amazon Ads campaign IDs, up to 100 positive numeric values. A single campaign ID is also accepted. Omit to include entities from all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"adGroupIds","in":"query","description":"Optional comma-separated Amazon Ads ad group IDs, up to 100 positive numeric values. A single ad group ID is also accepted. Omit to include entities from all ad groups.","required":false,"schema":{"type":"string","default":""}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAdListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Ads.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Create standard product ads","description":"Creates 1 to 100 ENABLED product ads under one existing Sponsored Products or Sponsored Display ad group. Sponsored Products uses PRODUCT_AD with productCreative; Sponsored Display uses COMPONENT with responsiveEcommerceSettings under componentCreative and advertises the resolved ASIN. adGroupId is required; campaignId is optional and, when supplied, must identify the ad group's campaign. Provide skus or asins; when skus is non-empty, skus takes precedence and asins is ignored. Each selected SKU or ASIN creates one independent ad. Production live requests require every product to resolve to both SKU and ASIN in Listings; non-production environments and Review Sandbox requests are exempt. Successfully created production ads are immediately upserted into local management query data with both identifiers.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createAds","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingAdCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAdCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Ads.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update ads","description":"Submits name and/or state changes for 1 to 100 existing ads. State supports Sponsored Products, Sponsored Brands, and Sponsored Display; name supports Sponsored Brands only. For Sponsored Products and Sponsored Display, name is ignored when state is also supplied, while an item containing only name returns NO_SUPPORTED_AD_CHANGES. Mixed requests are sent as separate Amazon Ads writes per ad product while preserving each item's original index. One ad product group can fail without preventing later groups from running. State accepts ENABLED or PAUSED; ARCHIVED is not supported. Successful items immediately synchronize supported submitted fields to the corresponding local ad table. Batch writes are not transactional.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateAds","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingAdUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Ads.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/advertising-management/ad-groups":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List ad groups","description":"Returns paginated ad group settings, including state, serving status, default bid, parent campaign details, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by up to 100 campaign IDs, a campaign-name substring, or one or more ad group states. When campaignIds and campaignName are both supplied, both filters must match. This endpoint returns locally synchronized management data and does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listAdGroups","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Optional comma-separated Amazon Ads campaign IDs, up to 100 positive numeric values. A single campaign ID is also accepted. Omit to include entities from all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Optional campaign-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAdGroupListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.AdGroups.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}},"post":{"tags":["Amazon Ads Campaign Management"],"summary":"Create advertising ad groups","description":"Creates 1 to 100 ENABLED ad groups under existing Sponsored Products, Sponsored Display, or Sponsored Brands campaigns. Each item specifies its campaign ID and unique ad group name. defaultBid is optional for Sponsored Products and Sponsored Display; when omitted, it is calculated as 25 times the marketplace minimum bid. Sponsored Brands ad groups do not support a default bid, so any supplied defaultBid is ignored and is not sent to Amazon. The parent campaign determines adProduct. For Sponsored Display only, marketplaceScope is set to SINGLE_MARKETPLACE and marketplaces is derived from the requested store; clients do not submit these fields. Other product-specific SDK fields are omitted so Amazon applies their defaults. All campaigns must belong to the requested store and must not be archived. Successfully created ad groups are immediately upserted into local management query data. For an SP AUTO campaign, optional automaticTargetBidding records KEEP_DEFAULT, AMAZON_SUGGESTED, CUSTOM with exactly four theme bids, or DECIDE_LATER; it is rejected for other campaign types and never sends target bids in the ad-group create request. Amazon creates close-match, loose-match, substitutes, and complements after the ad group exists. This endpoint immediately reads and synchronizes all four in one DAS database transaction per ad group and reports automaticTargetsSyncStatus without changing the successful ad-group result when that follow-up read is pending, rate-limited, or fails. A synchronized result includes all four stable target IDs, match types, current bids, the recorded mode, and automaticTargetBidNextAction. Suggested mode returns a ready batch query_advertising_bid_recommendations call; custom mode returns a ready AD_TARGETING_CHANGE prepare_workflow_plan call; decide-later asks the customer while showing current values; keep-default performs no target write. Suggested or custom final values still require a separate targeting-change plan and explicit confirmation before they are applied.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"createAdGroups","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingAdGroupCreateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAdGroupCreateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.AdGroups.Create","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}},"patch":{"tags":["Amazon Ads Campaign Management"],"summary":"Update ad groups","description":"Submits name, state, and/or default bid changes for 1 to 100 existing ad groups. Name and state support Sponsored Products, Sponsored Brands, and Sponsored Display; defaultBid supports Sponsored Products and Sponsored Display only. For Sponsored Brands, defaultBid is ignored when name or state is also supplied; an item containing only defaultBid returns NO_SUPPORTED_AD_GROUP_CHANGES. Mixed requests are sent as separate Amazon Ads writes per ad product while preserving each item's original index. One ad product group can fail without preventing later groups from running, so the response may contain both successful and failed items. State accepts ENABLED or PAUSED; ARCHIVED is not supported. For each successful item, only supported submitted fields are immediately synchronized to the local ad group row. Batch writes are not transactional.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 10 requests | 1 request every 2 seconds |","operationId":"updateAdGroups","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertisingAdGroupUpdateRequest"}}},"required":true},"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.AdGroups.Update","capacity":10,"restoreSecondsPerRequest":2,"scope":"apiUser+storeId"}}},"/v2/stores":{"get":{"tags":["Stores"],"summary":"List stores","description":"Returns sellers, marketplaces, SP API status, Advertising API status, and active status for the current user.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 2 seconds |","operationId":"listStores","parameters":[{"name":"sellerId","in":"query","description":"Optional seller id filter. Omit to include all sellers authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"marketplaceId","in":"query","description":"Optional marketplace id filter. Omit to include all marketplaces under the matched sellers.","required":false,"schema":{"type":"string","default":""}},{"name":"spApiStatus","in":"query","description":"Optional store data access status filter. Leave empty to include all store data access statuses. ACTIVE means store data APIs are currently available for this marketplace. INACTIVE means store data APIs are currently unavailable for this marketplace.","required":false,"schema":{"type":"string","enum":["","ACTIVE","INACTIVE"]}},{"name":"adApiStatus","in":"query","description":"Optional advertising data access status filter. Leave empty to include all advertising data access statuses. ACTIVE means advertising data APIs are currently available for this marketplace. INACTIVE means advertising access is disabled for the seller account. UNAUTHORIZED means advertising access is enabled for the seller account, but not authorized for this marketplace.","required":false,"schema":{"type":"string","enum":["","ACTIVE","INACTIVE","UNAUTHORIZED"]}},{"name":"activeStatus","in":"query","description":"Optional store selection status filter. Leave empty to include all store selection statuses. ACTIVE means the marketplace is enabled and can be selected in data requests. INACTIVE means the marketplace is disabled and should not be selected in data requests.","required":false,"schema":{"type":"string","enum":["","ACTIVE","INACTIVE"]}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreSeller"}}}}}},"x-rate-limit":{"name":"V2.Stores.ListStores","capacity":30,"restoreSecondsPerRequest":2,"scope":"apiUser"}}},"/v2/sales":{"get":{"tags":["Sales"],"summary":"List sales summaries","description":"Returns store-level sales summaries for a business date range, optionally filtered by store IDs and SKUs.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSales","parameters":[{"name":"storeIds","in":"query","description":"Comma-separated store IDs from the Stores API. Omit to include all active stores authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesSummaryList"}}}}},"x-rate-limit":{"name":"V2.Sales.ListSales","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser"}}},"/v2/sales/skus":{"get":{"tags":["Sales"],"summary":"List SKU sales","description":"Returns paginated SKU-level sales data for a business date range. Use sortBy and sortOrder to order the list by units, orders, or sales.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listSkuSales","parameters":[{"name":"storeIds","in":"query","description":"Comma-separated store IDs from the Stores API. Omit to include all active stores authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Sales sort field.","required":false,"schema":{"type":"string","enum":["units","orders","sales"],"default":"units"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesSkuList"}}}}},"x-rate-limit":{"name":"V2.Sales.ListSkuSales","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser"}}},"/v2/sales/skus/daily":{"get":{"tags":["Sales"],"summary":"List daily SKU sales","description":"Returns paginated daily SKU-level sales data for a business date range, optionally filtered by store IDs and SKUs.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listDailySkuSales","parameters":[{"name":"storeIds","in":"query","description":"Comma-separated store IDs from the Stores API. Omit to include all active stores authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesList"}}}}},"x-rate-limit":{"name":"V2.Sales.ListDailySkuSales","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser"}}},"/v2/sales/daily":{"get":{"tags":["Sales"],"summary":"List daily sales summaries","description":"Returns daily store-level sales summaries for a business date range, optionally filtered by store IDs and SKUs.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 6 seconds |","operationId":"listDailySales","parameters":[{"name":"storeIds","in":"query","description":"Comma-separated store IDs from the Stores API. Omit to include all active stores authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesDailySummaryList"}}}}},"x-rate-limit":{"name":"V2.Sales.ListDailySales","capacity":30,"restoreSecondsPerRequest":6,"scope":"apiUser"}}},"/v2/sales-traffic":{"get":{"tags":["Sales Traffic"],"summary":"Get sales traffic summary","description":"Returns store-level sales traffic summary for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 4 seconds |","operationId":"storeSummary","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesTrafficStore"}}}}},"x-rate-limit":{"name":"V2.SalesTraffic.StoreSummary","capacity":30,"restoreSecondsPerRequest":4,"scope":"apiUser+storeId"}}},"/v2/sales-traffic/parent-asins":{"get":{"tags":["Sales Traffic"],"summary":"List parent ASIN sales traffic","description":"Returns paginated parent ASIN-level sales traffic metrics for a business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 4 seconds |","operationId":"listParentAsins","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Sales traffic sort field.","required":false,"schema":{"type":"string","enum":["units","orders","sales","sessions","pageViews","buyBoxPercentage","unitSessionPercentage","orderSessionPercentage"],"default":"units"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesTrafficList"}}}}},"x-rate-limit":{"name":"V2.SalesTraffic.ListParentAsins","capacity":30,"restoreSecondsPerRequest":4,"scope":"apiUser+storeId"}}},"/v2/sales-traffic/parent-asins/daily":{"get":{"tags":["Sales Traffic"],"summary":"List daily parent ASIN sales traffic","description":"Returns paginated daily parent ASIN-level sales traffic metrics for a business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listDailyParentAsins","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Sales traffic sort field.","required":false,"schema":{"type":"string","enum":["units","orders","sales","sessions","pageViews","buyBoxPercentage","unitSessionPercentage","orderSessionPercentage"],"default":"units"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesTrafficDailyList"}}}}},"x-rate-limit":{"name":"V2.SalesTraffic.ListDailyParentAsins","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/sales-traffic/daily":{"get":{"tags":["Sales Traffic"],"summary":"List daily sales traffic summaries","description":"Returns daily store-level sales traffic summaries with a date-range summary for a single store, optionally filtered by ASINs and parent ASINs.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 4 seconds |","operationId":"listDailySalesTraffic","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesTrafficDailyStoreList"}}}}},"x-rate-limit":{"name":"V2.SalesTraffic.ListDailySalesTraffic","capacity":30,"restoreSecondsPerRequest":4,"scope":"apiUser+storeId"}}},"/v2/sales-traffic/asins":{"get":{"tags":["Sales Traffic"],"summary":"List ASIN sales traffic","description":"Returns paginated ASIN-level sales traffic metrics for a business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 4 seconds |","operationId":"listAsins","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Sales traffic sort field.","required":false,"schema":{"type":"string","enum":["units","orders","sales","sessions","pageViews","buyBoxPercentage","unitSessionPercentage","orderSessionPercentage"],"default":"units"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesTrafficList"}}}}},"x-rate-limit":{"name":"V2.SalesTraffic.ListAsins","capacity":30,"restoreSecondsPerRequest":4,"scope":"apiUser+storeId"}}},"/v2/sales-traffic/asins/daily":{"get":{"tags":["Sales Traffic"],"summary":"List daily ASIN sales traffic","description":"Returns paginated daily ASIN-level sales traffic metrics for a business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listDailyAsins","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Sales traffic sort field.","required":false,"schema":{"type":"string","enum":["units","orders","sales","sessions","pageViews","buyBoxPercentage","unitSessionPercentage","orderSessionPercentage"],"default":"units"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesTrafficDailyList"}}}}},"x-rate-limit":{"name":"V2.SalesTraffic.ListDailyAsins","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/review-tracking/products":{"get":{"tags":["Review Tracking"],"summary":"List tracked product ratings","description":"Returns paginated rating data for parent ASINs that have review tracking enabled in a single store. Parent ASINs without review tracking or rating data are omitted from the response.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listReviewProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all tracked parent ASINs. Values without review tracking or rating data are omitted from the response.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReviewTrackingProductList"}}}}},"x-rate-limit":{"name":"V2.ReviewTracking.ListProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/profit":{"get":{"tags":["Profit"],"summary":"Get store profit","description":"Returns store-level profit summary for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"storeSummary_1","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitStore"}}}}},"x-rate-limit":{"name":"V2.Profit.StoreSummary","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/skus":{"get":{"tags":["Profit"],"summary":"List SKU profits","description":"Returns paginated SKU profit data for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listSkuProfits","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Profit sort field.","required":false,"schema":{"type":"string","enum":["profit","sales","units","orders"],"default":"profit"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitSkuList"}}}}},"x-rate-limit":{"name":"V2.Profit.ListSkuProfits","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/skus/daily":{"get":{"tags":["Profit"],"summary":"List daily SKU profits","description":"Returns paginated daily SKU profit data for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listDailySkuProfits","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Profit sort field.","required":false,"schema":{"type":"string","enum":["profit","sales","units","orders"],"default":"profit"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitDailySkuList"}}}}},"x-rate-limit":{"name":"V2.Profit.ListDailySkuProfits","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/parent-asins":{"get":{"tags":["Profit"],"summary":"List parent ASIN profits","description":"Returns paginated parent ASIN profit data for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listParentAsinProfits","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Profit sort field.","required":false,"schema":{"type":"string","enum":["profit","sales","units","orders"],"default":"profit"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitParentAsinList"}}}}},"x-rate-limit":{"name":"V2.Profit.ListParentAsinProfits","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/parent-asins/daily":{"get":{"tags":["Profit"],"summary":"List daily parent ASIN profits","description":"Returns paginated daily parent ASIN profit data for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listDailyParentAsinProfits","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Profit sort field.","required":false,"schema":{"type":"string","enum":["profit","sales","units","orders"],"default":"profit"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitDailyParentAsinList"}}}}},"x-rate-limit":{"name":"V2.Profit.ListDailyParentAsinProfits","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/daily":{"get":{"tags":["Profit"],"summary":"List daily store profits","description":"Returns daily store-level profit summaries for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"dailyStoreSummary","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitDailyStoreList"}}}}},"x-rate-limit":{"name":"V2.Profit.DailyStoreSummary","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/asins":{"get":{"tags":["Profit"],"summary":"List ASIN profits","description":"Returns paginated ASIN profit data for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listAsinProfits","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Profit sort field.","required":false,"schema":{"type":"string","enum":["profit","sales","units","orders"],"default":"profit"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitAsinList"}}}}},"x-rate-limit":{"name":"V2.Profit.ListAsinProfits","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/profit/asins/daily":{"get":{"tags":["Profit"],"summary":"List daily ASIN profits","description":"Returns paginated daily ASIN profit data for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 8 seconds |","operationId":"listDailyAsinProfits","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Profit sort field.","required":false,"schema":{"type":"string","enum":["profit","sales","units","orders"],"default":"profit"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProfitDailyAsinList"}}}}},"x-rate-limit":{"name":"V2.Profit.ListDailyAsinProfits","capacity":30,"restoreSecondsPerRequest":8,"scope":"apiUser+storeId"}}},"/v2/me":{"get":{"tags":["Users"],"summary":"Get current user profile","description":"Returns the current user's default currency, time zone, display language, and creation time.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 2 seconds |","operationId":"me","responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}}},"x-rate-limit":{"name":"V2.Users.GetMe","capacity":30,"restoreSecondsPerRequest":2,"scope":"apiUser"}}},"/v2/inventory-alerts/recommended-removals":{"get":{"tags":["Inventory Alerts"],"summary":"List recommended removal alerts","description":"Returns AFN recommended removal alerts from FBA inventory planning data.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listRecommendedRemovalAlerts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InventoryAlertList"}}}}},"x-rate-limit":{"name":"V2.InventoryAlerts.RecommendedRemovals","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}}},"/v2/inventory-alerts/low-stock":{"get":{"tags":["Inventory Alerts"],"summary":"List low stock alerts","description":"Returns low stock alerts. AFN inventory uses FBA restock recommendations; MFN inventory uses rule-based low stock alerts.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listLowStockAlerts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"salesChannel","in":"query","description":"Optional inventory fulfillment channel filter. Allowed values are AFN and MFN. Omit to include all channels.","required":false,"schema":{"type":"string","enum":["AFN","MFN"]}},{"name":"restockType","in":"query","description":"Optional AFN restock type filter.","required":false,"schema":{"type":"string","enum":["OCEAN_SHIPPING","AIR_SHIPPING","URGENT"]}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InventoryAlertList"}}}}},"x-rate-limit":{"name":"V2.InventoryAlerts.LowStock","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}}},"/v2/inventory-alerts/long-term-storage":{"get":{"tags":["Inventory Alerts"],"summary":"List long-term storage alerts","description":"Returns AFN long-term storage alerts from FBA inventory planning data.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listLongTermStorageAlerts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InventoryAlertList"}}}}},"x-rate-limit":{"name":"V2.InventoryAlerts.LongTermStorage","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}}},"/v2/inventory-alerts/excess-stock":{"get":{"tags":["Inventory Alerts"],"summary":"List excess stock alerts","description":"Returns excess stock alerts. AFN inventory uses FBA inventory planning data; MFN inventory uses rule-based excess stock alerts.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listExcessStockAlerts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"salesChannel","in":"query","description":"Optional inventory fulfillment channel filter. Allowed values are AFN and MFN. Omit to include all channels.","required":false,"schema":{"type":"string","enum":["AFN","MFN"]}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InventoryAlertList"}}}}},"x-rate-limit":{"name":"V2.InventoryAlerts.ExcessStock","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}}},"/v2/inventories":{"get":{"tags":["Inventories"],"summary":"List inventories","description":"Returns paginated inventory listing data for a single store. FBA-specific fields are populated only for AFN inventory and are null for MFN inventory when not applicable.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listInventories","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"salesChannel","in":"query","description":"Optional inventory fulfillment channel filter. Allowed values are AFN and MFN. Omit to include all channels.","required":false,"schema":{"type":"string","enum":["AFN","MFN"]}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InventoryList"}}}}},"x-rate-limit":{"name":"V2.Inventories.ListInventories","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}}},"/v2/inbound-shipments":{"get":{"tags":["Inbound Shipments"],"summary":"List inbound shipments","description":"Returns paginated FBA inbound shipments for authorized sellers.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 4 seconds |","operationId":"listShipments","parameters":[{"name":"sellerIds","in":"query","description":"Comma-separated seller IDs. Omit to include all sellers authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboundShipmentList"}}}}},"x-rate-limit":{"name":"V2.InboundShipments.ListShipments","capacity":30,"restoreSecondsPerRequest":4,"scope":"apiUser"}}},"/v2/inbound-shipments/items":{"get":{"tags":["Inbound Shipments"],"summary":"List inbound shipment items","description":"Returns paginated FBA inbound shipment items for up to 100 shipment IDs.\n\n##### Rate Limits\n\nScope: API user\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 4 seconds |","operationId":"listShipmentItems","parameters":[{"name":"sellerIds","in":"query","description":"Comma-separated seller IDs. Omit to include all sellers authorized for the current user.","required":false,"schema":{"type":"string","default":""}},{"name":"shipmentIds","in":"query","description":"Comma-separated shipment IDs, up to 100 values.","required":true,"schema":{"type":"string"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboundShipmentItemList"}}}}},"x-rate-limit":{"name":"V2.InboundShipments.ListShipmentItems","capacity":30,"restoreSecondsPerRequest":4,"scope":"apiUser"}}},"/v2/advertising":{"get":{"tags":["Advertising"],"summary":"Get store advertising performance","description":"Returns store-level advertising performance summary for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"storeSummary_2","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingStorePerformance"}}}}},"x-rate-limit":{"name":"V2.Advertising.StoreSummary","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus":{"get":{"tags":["Advertising Product Performance"],"summary":"List SKU advertising performance","description":"Returns paginated advertising performance metrics grouped by SKU for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSkuAdvertisingProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListSkuAdvertisingProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus/search-terms":{"get":{"tags":["Advertising Product Performance"],"summary":"List SKU advertising search terms","description":"Returns buyer search term performance for advertised SKUs. Results can provide evidence for new keyword candidates in a manual advertising structure. Average CPC is a historical bid reference, not an Amazon suggested bid; review performance and obtain customer approval before adding a term or bid.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSkuSearchTerms","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional buyer search term text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingSearchTermPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListSkuSearchTerms","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus/search-term-products":{"get":{"tags":["Advertising Product Performance"],"summary":"List SKU advertising search term products","description":"Returns product-ASIN buyer search term performance for advertised SKUs. Results can provide evidence for exact-ASIN product-target candidates in a new advertising structure; review performance and obtain customer approval before adding a target.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSkuSearchTermProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional product-ASIN search term text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingSearchTermProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListSkuSearchTermProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus/purchased-products":{"get":{"tags":["Advertising Product Performance"],"summary":"List SKU advertising purchased products","description":"Returns purchased product performance attributed to advertised SKUs.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSkuPurchasedProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Reserved for future purchased product text filtering.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingPurchasedProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListSkuPurchasedProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus/keyword-targets":{"get":{"tags":["Advertising Product Performance"],"summary":"List SKU advertising keyword targets","description":"Returns historical keyword target performance for advertised SKUs. Results can provide evidence for reusing successful keywords in a new advertising structure. Average CPC is a historical bid reference, not an Amazon suggested bid; review performance and obtain customer approval before reuse.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSkuKeywordTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional keyword target search text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListSkuKeywordTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus/daily":{"get":{"tags":["Advertising Product Performance"],"summary":"List daily SKU advertising performance","description":"Returns paginated daily advertising performance metrics grouped by SKU for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listDailySkuAdvertisingProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingProductDailyPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListDailySkuAdvertisingProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/skus/asin-targets":{"get":{"tags":["Advertising Product Performance"],"summary":"List SKU advertising product and automatic targets","description":"Returns historical explicit ASIN product target, automatic targeting theme, and keyword-group theme performance for advertised SKUs. Explicit ASIN results can provide evidence for product-target candidates in a new advertising structure; review performance and obtain customer approval before reuse.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listSkuAsinTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"skus","in":"query","description":"Comma-separated SKU filters, up to 100 values. Omit to include all SKUs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional target expression search text. Explicit ASIN values, automatic targeting expression types, and keyword-group names are supported.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAsinTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListSkuAsinTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins":{"get":{"tags":["Advertising Product Performance"],"summary":"List parent ASIN advertising performance","description":"Returns paginated advertising performance metrics grouped by parent ASIN for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listParentAsinAdvertisingProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListParentAsinAdvertisingProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins/search-terms":{"get":{"tags":["Advertising Product Performance"],"summary":"List parent ASIN advertising search terms","description":"Returns buyer search term performance for advertised parent ASINs. Results can provide evidence for new keyword candidates in a manual advertising structure. Average CPC is a historical bid reference, not an Amazon suggested bid; review performance and obtain customer approval before adding a term or bid.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listParentAsinSearchTerms","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional buyer search term text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingSearchTermPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListParentAsinSearchTerms","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins/search-term-products":{"get":{"tags":["Advertising Product Performance"],"summary":"List parent ASIN advertising search term products","description":"Returns product-ASIN buyer search term performance for advertised parent ASINs. Results can provide evidence for exact-ASIN product-target candidates in a new advertising structure; review performance and obtain customer approval before adding a target.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listParentAsinSearchTermProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional product-ASIN search term text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingSearchTermProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListParentAsinSearchTermProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins/purchased-products":{"get":{"tags":["Advertising Product Performance"],"summary":"List parent ASIN advertising purchased products","description":"Returns purchased product performance attributed to advertised parent ASINs.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listParentAsinPurchasedProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Reserved for future purchased product text filtering.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingPurchasedProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListParentAsinPurchasedProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins/keyword-targets":{"get":{"tags":["Advertising Product Performance"],"summary":"List parent ASIN advertising keyword targets","description":"Returns historical keyword target performance for advertised parent ASINs. Results can provide evidence for reusing successful keywords in a new advertising structure. Average CPC is a historical bid reference, not an Amazon suggested bid; review performance and obtain customer approval before reuse.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listParentAsinKeywordTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional keyword target search text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListParentAsinKeywordTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins/daily":{"get":{"tags":["Advertising Product Performance"],"summary":"List daily parent ASIN advertising performance","description":"Returns paginated daily advertising performance metrics grouped by parent ASIN for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listDailyParentAsinAdvertisingProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingProductDailyPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListDailyParentAsinAdvertisingProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/parent-asins/asin-targets":{"get":{"tags":["Advertising Product Performance"],"summary":"List parent ASIN advertising product and automatic targets","description":"Returns historical explicit ASIN product target, automatic targeting theme, and keyword-group theme performance for advertised parent ASINs. Explicit ASIN results can provide evidence for product-target candidates in a new advertising structure; review performance and obtain customer approval before reuse.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listParentAsinAsinTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"parentAsins","in":"query","description":"Comma-separated parent ASIN filters, up to 100 values. Omit to include all parent ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional target expression search text. Explicit ASIN values, automatic targeting expression types, and keyword-group names are supported.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAsinTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListParentAsinAsinTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins":{"get":{"tags":["Advertising Product Performance"],"summary":"List ASIN advertising performance","description":"Returns paginated advertising performance metrics grouped by ASIN for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listAsinAdvertisingProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListAsinAdvertisingProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins/search-terms":{"get":{"tags":["Advertising Product Performance"],"summary":"List ASIN advertising search terms","description":"Returns buyer search term performance for advertised ASINs. Results can provide evidence for new keyword candidates in a manual advertising structure. Average CPC is a historical bid reference, not an Amazon suggested bid; review performance and obtain customer approval before adding a term or bid.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listAsinSearchTerms","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional buyer search term text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingSearchTermPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListAsinSearchTerms","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins/search-term-products":{"get":{"tags":["Advertising Product Performance"],"summary":"List ASIN advertising search term products","description":"Returns product-ASIN buyer search term performance for advertised ASINs. Results can provide evidence for exact-ASIN product-target candidates in a new advertising structure; review performance and obtain customer approval before adding a target.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listAsinSearchTermProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional product-ASIN search term text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingSearchTermProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListAsinSearchTermProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins/purchased-products":{"get":{"tags":["Advertising Product Performance"],"summary":"List ASIN advertising purchased products","description":"Returns purchased product performance attributed to advertised ASINs.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listAsinPurchasedProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Reserved for future purchased product text filtering.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingPurchasedProductPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListAsinPurchasedProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins/keyword-targets":{"get":{"tags":["Advertising Product Performance"],"summary":"List ASIN advertising keyword targets","description":"Returns historical keyword target performance for advertised ASINs. Results can provide evidence for reusing successful keywords in a new advertising structure. Average CPC is a historical bid reference, not an Amazon suggested bid; review performance and obtain customer approval before reuse.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listAsinKeywordTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional keyword target search text.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingKeywordTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListAsinKeywordTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins/daily":{"get":{"tags":["Advertising Product Performance"],"summary":"List daily ASIN advertising performance","description":"Returns paginated daily advertising performance metrics grouped by ASIN for a single store and business date range.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listDailyAsinAdvertisingProducts","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adOrders"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingProductDailyPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListDailyAsinAdvertisingProducts","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/products/asins/asin-targets":{"get":{"tags":["Advertising Product Performance"],"summary":"List ASIN advertising product and automatic targets","description":"Returns historical explicit ASIN product target, automatic targeting theme, and keyword-group theme performance for advertised ASINs. Explicit ASIN results can provide evidence for product-target candidates in a new advertising structure; review performance and obtain customer approval before reuse.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listAsinTargets","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"asins","in":"query","description":"Comma-separated ASIN filters, up to 100 values. Omit to include all ASINs.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"searchKey","in":"query","description":"Optional target expression search text. Explicit ASIN values, automatic targeting expression types, and keyword-group names are supported.","required":false,"schema":{"type":"string","default":""}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingAsinTargetPerformanceList"}}}}},"x-rate-limit":{"name":"V2.AdvertisingProducts.ListAsinAsinTargets","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/daily":{"get":{"tags":["Advertising"],"summary":"List daily store advertising performance","description":"Returns daily store-level advertising performance summaries for a single store.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"dailyStoreSummary_1","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingStoreDailyPerformanceList"}}}}},"x-rate-limit":{"name":"V2.Advertising.DailyStoreSummary","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/campaigns":{"get":{"tags":["Advertising Campaign Performance"],"summary":"List advertising campaign performance","description":"Returns paginated advertising performance metrics grouped by campaign for a single store and business date range. Campaigns can be limited to one or more Amazon Ads portfolio IDs before pagination.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listCampaigns","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Comma-separated campaign ID filters, up to 100 values. Omit to include all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"portfolioIds","in":"query","description":"Optional comma-separated Amazon Ads portfolio IDs, up to 100 positive numeric values. A single portfolio ID is also accepted. Omit to include campaigns from every portfolio and campaigns without a portfolio.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignTypes","in":"query","description":"Comma-separated campaign type filters. Allowed values are sponsoredProducts, sponsoredBrands, and sponsoredDisplay.","required":false,"schema":{"type":"string","default":""}},{"name":"states","in":"query","description":"Comma-separated campaign state filters. Allowed values are enabled, paused, and archived.","required":false,"schema":{"type":"string","default":""}},{"name":"targetingTypes","in":"query","description":"Comma-separated targeting type filters. Allowed values are auto and manual.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Fuzzy campaign name filter.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingCampaigns.ListCampaigns","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising/campaigns/daily":{"get":{"tags":["Advertising Campaign Performance"],"summary":"List daily advertising campaign performance","description":"Returns paginated daily advertising performance metrics grouped by campaign for a single store and business date range. Campaigns can be limited to one or more Amazon Ads portfolio IDs before pagination.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 5 seconds |","operationId":"listDailyCampaigns","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"campaignIds","in":"query","description":"Comma-separated campaign ID filters, up to 100 values. Omit to include all campaigns.","required":false,"schema":{"type":"string","default":""}},{"name":"portfolioIds","in":"query","description":"Optional comma-separated Amazon Ads portfolio IDs, up to 100 positive numeric values. A single portfolio ID is also accepted. Omit to include campaigns from every portfolio and campaigns without a portfolio.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignTypes","in":"query","description":"Comma-separated campaign type filters. Allowed values are sponsoredProducts, sponsoredBrands, and sponsoredDisplay.","required":false,"schema":{"type":"string","default":""}},{"name":"states","in":"query","description":"Comma-separated campaign state filters. Allowed values are enabled, paused, and archived.","required":false,"schema":{"type":"string","default":""}},{"name":"targetingTypes","in":"query","description":"Comma-separated targeting type filters. Allowed values are auto and manual.","required":false,"schema":{"type":"string","default":""}},{"name":"campaignName","in":"query","description":"Fuzzy campaign name filter.","required":false,"schema":{"type":"string","default":""}},{"name":"startDate","in":"query","description":"Start business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"endDate","in":"query","description":"End business date in yyyy-MM-dd format. Date range is inclusive and can contain at most 31 days.","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Advertising performance sort field.","required":false,"schema":{"type":"string","default":"adSpend"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingCampaignDailyListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingCampaigns.ListDailyCampaigns","capacity":30,"restoreSecondsPerRequest":5,"scope":"apiUser+storeId"}}},"/v2/advertising-management/portfolios":{"get":{"tags":["Amazon Ads Campaign Management"],"summary":"List advertising portfolios","description":"Returns paginated Amazon Ads portfolio settings for a store, including stable portfolio ID, name, state, serving status, budget policy and amount, budget dates, in-budget status, and Amazon creation and last-update times as UTC ISO-8601 instants. Filter by portfolio IDs, a name substring, or states. This endpoint returns locally synchronized management data and does not include performance metrics.\n\n##### Rate Limits\n\nScope: API user + `storeId`\n\n| Maximum Quota | Restore |\n| --- | --- |\n| 30 requests | 1 request every 3 seconds |","operationId":"listPortfolios","parameters":[{"name":"storeId","in":"query","description":"Store ID from the Stores API, formatted as sellerId:marketplaceId.","required":true,"schema":{"type":"string"}},{"name":"portfolioIds","in":"query","description":"Optional comma-separated Amazon Ads portfolio IDs, up to 100 positive numeric values. A single portfolio ID is also accepted. Omit to include all portfolios.","required":false,"schema":{"type":"string","default":""}},{"name":"name","in":"query","description":"Optional portfolio-name substring filter.","required":false,"schema":{"type":"string"}},{"name":"states","in":"query","description":"Optional comma-separated entity states. Allowed values are ENABLED, PAUSED, and ARCHIVED. A single state is also accepted. Omit to include all states.","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","description":"Zero-based pagination offset.","required":false,"schema":{"type":"string","default":"0"}},{"name":"limit","in":"query","description":"Maximum number of items to return. Defaults to 100 and cannot exceed 100.","required":false,"schema":{"type":"string","default":"100"}}],"responses":{"422":{"description":"Invalid or missing request parameter.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Authenticated but missing a required OAuth scope or package permission.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized API key or store.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","headers":{"TS-Rate-Limit-Name":{"description":"Rate limit bucket name.","schema":{"type":"string"}},"TS-Rate-Limit-Maximum-Quota":{"description":"Maximum request quota for this rate limit bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Remaining":{"description":"Remaining request quota in the current bucket.","schema":{"type":"integer","format":"int32"}},"TS-Rate-Limit-Retry-After-Seconds":{"description":"Seconds to wait before retrying after the bucket is exhausted.","schema":{"type":"integer","format":"int32"}}},"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertisingPortfolioListResponse"}}}}},"x-rate-limit":{"name":"V2.AdvertisingManagement.Portfolios.List","capacity":30,"restoreSecondsPerRequest":3,"scope":"apiUser+storeId"}}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"details":{"type":"string"},"upstreamStatus":{"type":"integer","description":"HTTP status returned by an upstream service, when available.","format":"int32"},"upstreamResponse":{"type":"string","description":"Sanitized upstream response body, when available."},"requiredScopes":{"type":"array","description":"OAuth scopes required by the requested operation, when authorization is insufficient.","items":{"type":"string","description":"OAuth scopes required by the requested operation, when authorization is insufficient."}},"missingScopes":{"type":"array","description":"OAuth scopes missing from the access token, when authorization is insufficient.","items":{"type":"string","description":"OAuth scopes missing from the access token, when authorization is insufficient."}},"reauthorizationRequired":{"type":"boolean","description":"Whether the client must ask the user to authorize additional OAuth permissions."}}},"AdvertisingTargetRecommendationRequest":{"required":["storeId","targetingType"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"adProduct":{"type":"string","description":"Advertising product. Required with asins and omitted with adGroupId because the server resolves it.","enum":["SPONSORED_PRODUCTS","SPONSORED_BRANDS","SPONSORED_DISPLAY"]},"targetingType":{"type":"string","description":"Kind of candidate to recommend. Sponsored Display supports TARGET only.","enum":["KEYWORD","TARGET"]},"adGroupId":{"type":"integer","description":"Existing ad group used as recommendation context. Mutually exclusive with asins.","format":"int64"},"asins":{"type":"array","description":"Advertised ASINs used as recommendation context. Mutually exclusive with adGroupId; adProduct is required.","items":{"type":"string","description":"Advertised ASINs used as recommendation context. Mutually exclusive with adGroupId; adProduct is required."}},"maxResults":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of normalized candidates returned.","format":"int32","default":100},"tactic":{"type":"string","description":"Sponsored Display tactic. ASIN product recommendations in Amazon v3.3 support T00020 only; resolved from Campaign for an ad-group request.","enum":["T00020"]},"locale":{"type":"string","description":"Optional locale supported by the selected Amazon recommendation API.","example":"en_US"},"nextToken":{"type":"string","description":"Pagination token returned by a previous TARGET recommendation request. Supported by Sponsored Products and Sponsored Brands product recommendations."}},"description":"Read-only request for recommended keyword or ASIN targeting candidates. Supply either an existing adGroupId or advertised ASINs."},"AdvertisingBidRecommendationTargetingRequest":{"type":"object","properties":{"keywordText":{"type":"string","description":"Keyword text when targetingType is KEYWORD.","example":"magnetic phone ring"},"matchType":{"type":"string","description":"Keyword match type when targetingType is KEYWORD.","example":"EXACT","enum":["BROAD","PHRASE","EXACT"]},"expressionType":{"type":"string","description":"Target expression type when targetingType is TARGET.","example":"manual","enum":["manual","auto"]},"expression":{"type":"array","description":"Amazon targeting expressions when targetingType is TARGET. Sponsored Products and Sponsored Brands currently require exactly one expression; Sponsored Display accepts one or more. Example: [{\"type\":\"asinSameAs\",\"value\":\"B0CQV7JCBT\"}].","items":{"type":"object","additionalProperties":{"type":"object","description":"Amazon targeting expressions when targetingType is TARGET. Sponsored Products and Sponsored Brands currently require exactly one expression; Sponsored Display accepts one or more. Example: [{\"type\":\"asinSameAs\",\"value\":\"B0CQV7JCBT\"}]."},"description":"Amazon targeting expressions when targetingType is TARGET. Sponsored Products and Sponsored Brands currently require exactly one expression; Sponsored Display accepts one or more. Example: [{\"type\":\"asinSameAs\",\"value\":\"B0CQV7JCBT\"}]."}}},"description":"Candidate targeting definition used after the ad group exists but before the targeting entity is created. KEYWORD uses keywordText and matchType; TARGET uses expressionType and expression."},"AdvertisingTargetRecommendationItemResponse":{"type":"object","properties":{"targetingType":{"type":"string","description":"Recommended targeting kind.","enum":["KEYWORD","TARGET"]},"targeting":{"$ref":"#/components/schemas/AdvertisingBidRecommendationTargetingRequest"},"rank":{"type":"integer","description":"Amazon recommendation rank when provided; lower values are stronger recommendations.","format":"int32"},"recommendationId":{"type":"string","description":"Amazon recommendation identifier when provided."},"translation":{"type":"string","description":"Localized keyword translation when requested and available."},"themes":{"type":"array","description":"Amazon recommendation themes when provided.","items":{"type":"string","description":"Amazon recommendation themes when provided."}}},"description":"One recommended targeting candidate. The targeting object can be copied into a candidate bid-recommendation request after adding adGroupId and targetingType."},"AdvertisingTargetRecommendationResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingTargetRecommendationItemResponse"}},"nextToken":{"type":"string","description":"Continuation token for Sponsored Products or Sponsored Brands TARGET recommendations. Pass it back as request nextToken; null when pagination is unsupported or complete."}},"description":"Normalized Amazon targeting recommendations."},"AdvertisingDecimalFilterRequest":{"type":"object","properties":{"eq":{"type":"number"},"gt":{"type":"number"},"gte":{"type":"number"},"lt":{"type":"number"},"lte":{"type":"number"}},"description":"Numeric comparison conditions. Multiple conditions are combined with AND."},"AdvertisingIntegerFilterRequest":{"type":"object","properties":{"eq":{"type":"integer","format":"int64"},"gt":{"type":"integer","format":"int64"},"gte":{"type":"integer","format":"int64"},"lt":{"type":"integer","format":"int64"},"lte":{"type":"integer","format":"int64"}},"description":"Integer comparison conditions. Multiple conditions are combined with AND."},"AdvertisingKeywordAttributeFiltersRequest":{"type":"object","properties":{"states":{"minItems":1,"type":"array","description":"Keyword states. Omit to include enabled and paused keywords.","items":{"type":"string","enum":["enabled","paused","archived"]}},"campaignIds":{"minItems":1,"type":"array","description":"Campaign IDs that own the keywords.","items":{"type":"integer","format":"int64"}},"adGroupIds":{"minItems":1,"type":"array","description":"Ad group IDs that own the keywords.","items":{"type":"integer","format":"int64"}},"keywordIds":{"minItems":1,"type":"array","description":"Keyword IDs.","items":{"type":"integer","format":"int64"}}},"description":"Filters applied to a keyword target's current attributes before metric aggregation."},"AdvertisingKeywordFiltersRequest":{"type":"object","properties":{"attributes":{"$ref":"#/components/schemas/AdvertisingKeywordAttributeFiltersRequest"},"metrics":{"$ref":"#/components/schemas/AdvertisingTargetMetricFiltersRequest"}},"description":"Keyword attribute and aggregated metric filters."},"AdvertisingKeywordTargetSearchRequest":{"required":["endDate","startDate","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"startDate":{"type":"string","description":"Start date in yyyy-MM-dd format. The maximum inclusive range is 31 days."},"endDate":{"type":"string","description":"End date in yyyy-MM-dd format. The maximum inclusive range is 31 days."},"searchKey":{"type":"string","description":"Optional keyword text search."},"filters":{"$ref":"#/components/schemas/AdvertisingKeywordFiltersRequest"},"sortBy":{"type":"string","description":"Metric used for sorting.","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adSpend"},"sortOrder":{"type":"string","description":"Sort direction.","enum":["asc","desc"],"default":"desc"},"offset":{"type":"integer","description":"Zero-based result offset.","format":"int32","default":0},"limit":{"type":"integer","description":"Maximum number of results from 1 to 100.","format":"int32","default":100}},"description":"Advanced search request for store-level advertising keyword targets."},"AdvertisingTargetMetricFiltersRequest":{"type":"object","properties":{"impressions":{"$ref":"#/components/schemas/AdvertisingIntegerFilterRequest"},"clicks":{"$ref":"#/components/schemas/AdvertisingIntegerFilterRequest"},"adOrders":{"$ref":"#/components/schemas/AdvertisingIntegerFilterRequest"},"acos":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"ctr":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"conversionRate":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"}},"description":"Filters applied after aggregating target performance over the requested date range. Percentage metrics use decimal ratios, for example 0.20 for 20%. For ACoS, CTR, and conversion rate, a positive numerator with a zero denominator is unbounded for comparison only: it matches gt/gte and does not match lt/lte/eq; response values remain null or zero."},"AdvertisingKeywordTargetPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"campaignId":{"type":"integer","format":"int64"},"campaignName":{"type":"string"},"campaignType":{"type":"string"},"adGroupId":{"type":"integer","format":"int64"},"adGroupName":{"type":"string"},"keywordId":{"type":"integer","format":"int64"},"keywordText":{"type":"string"},"matchType":{"type":"string"},"state":{"type":"string","description":"Current target state.","enum":["enabled","paused","archived"]},"bid":{"type":"number","description":"Current target bid."}}},"AdvertisingKeywordTargetPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingKeywordTargetPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Money":{"type":"object","properties":{"currencyAmount":{"type":"number","description":"Amount in the specified currency."},"currencyCode":{"type":"string","description":"ISO 4217 currency code."}}},"Pagination":{"type":"object","properties":{"offset":{"type":"integer","description":"Zero-based offset of the current page.","format":"int32"},"limit":{"type":"integer","description":"Maximum number of items requested.","format":"int32"}}},"AdvertisingBidRecommendationItemRequest":{"required":["targetingType"],"type":"object","properties":{"targetingType":{"type":"string","description":"Whether the entity is a keyword or a non-keyword target.","example":"TARGET","enum":["KEYWORD","TARGET"]},"targetingId":{"type":"integer","description":"Existing keywordId or targetId. When provided, omit adGroupId and targeting.","format":"int64","example":170114551414730},"adGroupId":{"type":"integer","description":"Already-created ad group ID. Required for a candidate and omitted for an existing entity.","format":"int64","example":21290463952088},"targeting":{"$ref":"#/components/schemas/AdvertisingBidRecommendationTargetingRequest"}},"description":"One existing or candidate targeting entity for bid recommendation. Existing entities use targetingType and targetingId only. Candidates use targetingType, adGroupId, and targeting."},"AdvertisingBidRecommendationRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"One to one hundred existing or candidate targeting entities. Compatible entries in the same product, Campaign, Ad Group, and targeting type are combined into one Amazon recommendation request.","items":{"$ref":"#/components/schemas/AdvertisingBidRecommendationItemRequest"}}},"description":"Read-only batch request for Amazon Sponsored Products, Sponsored Brands, or Sponsored Display suggested bids. The server resolves adProduct and campaignId; clients provide neither field."},"AdvertisingBidRecommendationItemResponse":{"type":"object","properties":{"requestIndex":{"type":"integer","description":"Zero-based index of the corresponding item in the request.","format":"int32","example":0},"targetingType":{"type":"string","description":"Requested targeting entity type.","enum":["KEYWORD","TARGET"]},"targetingId":{"type":"integer","description":"Existing keywordId or targetId; null for an uncreated candidate.","format":"int64"},"campaignId":{"type":"integer","description":"Campaign resolved by the server from synchronized data.","format":"int64"},"adGroupId":{"type":"integer","description":"Ad Group resolved from the existing entity or supplied candidate adGroupId.","format":"int64"},"apiVersion":{"type":"string","description":"Amazon recommendation API version used for this item.","example":"v5"},"adProduct":{"type":"string","description":"Advertising product resolved by the server.","enum":["SPONSORED_PRODUCTS","SPONSORED_BRANDS","SPONSORED_DISPLAY"]},"type":{"type":"string","description":"Normalized targeting expression type when available.","example":"PAT_ASIN"},"value":{"type":"string","description":"Normalized keyword or targeting expression value when available.","example":"B0CQV7JCBT"},"targeting":{"type":"object","additionalProperties":{"type":"object","description":"Product-specific targeting details returned by Amazon."},"description":"Product-specific targeting details returned by Amazon."},"rangeStart":{"$ref":"#/components/schemas/Money"},"suggestedBid":{"$ref":"#/components/schemas/Money"},"rangeEnd":{"$ref":"#/components/schemas/Money"},"code":{"type":"string","description":"Per-item result code. TOO_MANY_REQUESTS also covers a same-product group deliberately not sent after an earlier group was rate-limited; details and retryItemIndexes identify the retry scope.","example":"SUCCESS","enum":["SUCCESS","NO_RECOMMENDATION","TOO_MANY_REQUESTS"]},"details":{"type":"string","description":"Per-item explanation; null when code is SUCCESS. For TOO_MANY_REQUESTS, bid and targeting detail fields can be null while resolved IDs and adProduct remain available."}},"description":"Suggested bid result for one input item."},"AdvertisingBidRecommendationResponse":{"type":"object","properties":{"items":{"type":"array","description":"One result per requested item. Retry only indexes listed in retryItemIndexes when code is TOO_MANY_REQUESTS.","items":{"$ref":"#/components/schemas/AdvertisingBidRecommendationItemResponse"}},"requestFingerprint":{"type":"string","description":"Stable fingerprint of the resolved request. Reuse an earlier response with the same fingerprint instead of immediately querying again."},"retryItemIndexes":{"type":"array","description":"Zero-based request indexes that were rate-limited or deliberately not attempted after the same advertising product was rate-limited.","items":{"type":"integer","description":"Zero-based request indexes that were rate-limited or deliberately not attempted after the same advertising product was rate-limited.","format":"int32"}},"retryAfterSeconds":{"type":"integer","description":"Minimum suggested delay before retrying retryItemIndexes. Null when no retry is needed.","format":"int32"},"amazonRequestCount":{"type":"integer","description":"Number of Amazon bid-recommendation calls made for this request. Cache hits are excluded.","format":"int32"},"cachedItemCount":{"type":"integer","description":"Number of response items served from the short-lived successful recommendation cache.","format":"int32"}},"description":"Bid recommendation results ordered by the input requestIndex. Successful Ad Group results are preserved when a later group is rate-limited, and retry metadata identifies only unfinished items."},"AdvertisingTargetAttributeFiltersRequest":{"type":"object","properties":{"states":{"minItems":1,"type":"array","description":"Target states. Omit to include enabled and paused targets.","items":{"type":"string","enum":["enabled","paused","archived"]}},"campaignIds":{"minItems":1,"type":"array","description":"Campaign IDs that own the targets.","items":{"type":"integer","format":"int64"}},"adGroupIds":{"minItems":1,"type":"array","description":"Ad group IDs that own the targets.","items":{"type":"integer","format":"int64"}},"targetIds":{"minItems":1,"type":"array","description":"ASIN or theme Target IDs.","items":{"type":"integer","format":"int64"}}},"description":"Filters applied to an ASIN or theme target's current attributes before metric aggregation."},"AdvertisingTargetFiltersRequest":{"type":"object","properties":{"attributes":{"$ref":"#/components/schemas/AdvertisingTargetAttributeFiltersRequest"},"metrics":{"$ref":"#/components/schemas/AdvertisingTargetMetricFiltersRequest"}},"description":"ASIN or theme Target attribute and aggregated metric filters."},"AdvertisingTargetSearchRequest":{"required":["endDate","startDate","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"startDate":{"type":"string","description":"Start date in yyyy-MM-dd format. The maximum inclusive range is 31 days."},"endDate":{"type":"string","description":"End date in yyyy-MM-dd format. The maximum inclusive range is 31 days."},"searchKey":{"type":"string","description":"Optional ASIN or target expression search."},"filters":{"$ref":"#/components/schemas/AdvertisingTargetFiltersRequest"},"sortBy":{"type":"string","description":"Metric used for sorting.","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adSpend"},"sortOrder":{"type":"string","description":"Sort direction.","enum":["asc","desc"],"default":"desc"},"offset":{"type":"integer","description":"Zero-based result offset.","format":"int32","default":0},"limit":{"type":"integer","description":"Maximum number of results from 1 to 100.","format":"int32","default":100}},"description":"Advanced search request for store-level advertising ASIN and theme targets."},"AdvertisingAsinTargetPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"campaignId":{"type":"integer","format":"int64"},"campaignName":{"type":"string"},"campaignType":{"type":"string"},"adGroupId":{"type":"integer","format":"int64"},"adGroupName":{"type":"string"},"targetId":{"type":"integer","format":"int64"},"expression":{"type":"string"},"targetAsin":{"type":"string","description":"Explicit target ASIN. Null for product categories, automatic themes, and keyword-group themes.","nullable":true},"targetValue":{"type":"string","description":"Raw positive target value. Contains the ASIN, product-category value, or keyword-group name; null for value-less automatic themes.","nullable":true},"targetType":{"type":"string","description":"Target type. PRODUCT represents an explicit ASIN target, PRODUCT_CATEGORY represents a category target, and THEME represents an automatic or keyword-group targeting clause.","enum":["PRODUCT","PRODUCT_CATEGORY","THEME"]},"matchType":{"type":"string","description":"Normalized target match type.","enum":["ASIN_SAME_AS","ASIN_EXPANDED_FROM","KEYWORDS_CLOSE_MATCH","KEYWORDS_LOOSE_MATCH","PRODUCT_SUBSTITUTES","PRODUCT_COMPLEMENTS","PRODUCTS_SIMILAR_TO_ADVERTISED_PRODUCTS","KEYWORDS_RELATED_TO_YOUR_BRAND","KEYWORDS_RELATED_TO_YOUR_PRODUCT_CATEGORY","KEYWORDS_RELATED_TO_PEER_BRANDS_PRODUCT_CATEGORY"]},"bid":{"type":"number","description":"Current target bid."},"state":{"type":"string","description":"Current target state.","enum":["enabled","paused","archived"]},"targetAsinInfo":{"$ref":"#/components/schemas/AdvertisingProductInfo"}}},"AdvertisingAsinTargetPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingAsinTargetPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingProductInfo":{"type":"object","properties":{"asin":{"type":"string"},"parentAsin":{"type":"string"},"imageUrl":{"type":"string"},"title":{"type":"string"}},"description":"Listing information for an explicit target ASIN. Null for automatic and keyword-group themes.","nullable":true},"AdvertisingCampaignAttributeFiltersRequest":{"type":"object","properties":{"campaignIds":{"minItems":1,"type":"array","description":"Campaign IDs.","items":{"type":"integer","format":"int64"}},"portfolioIds":{"minItems":1,"type":"array","description":"Portfolio IDs.","items":{"type":"integer","format":"int64"}},"campaignTypes":{"minItems":1,"type":"array","description":"Advertising campaign types.","items":{"type":"string","enum":["sponsoredProducts","sponsoredBrands","sponsoredDisplay"]}},"states":{"minItems":1,"type":"array","description":"Campaign states.","items":{"type":"string","enum":["enabled","paused","archived"]}},"targetingTypes":{"minItems":1,"type":"array","description":"Campaign targeting types.","items":{"type":"string","enum":["auto","manual"]}},"campaignName":{"type":"string","description":"Fuzzy campaign-name filter."},"asin":{"pattern":"^[A-Za-z0-9]{10}$","type":"string","description":"Exact advertised-product ASIN. Finds campaigns containing an ad_product_ad row for this ASIN."},"sku":{"type":"string","description":"Exact advertised-product SKU. Finds campaigns containing an ad_product_ad row for this SKU."}},"description":"Filters applied to current advertising campaign attributes before metric aggregation."},"AdvertisingCampaignFiltersRequest":{"type":"object","properties":{"attributes":{"$ref":"#/components/schemas/AdvertisingCampaignAttributeFiltersRequest"},"metrics":{"$ref":"#/components/schemas/AdvertisingCampaignMetricFiltersRequest"}},"description":"Campaign attribute and aggregated metric filters."},"AdvertisingCampaignMetricFiltersRequest":{"type":"object","properties":{"impressions":{"$ref":"#/components/schemas/AdvertisingIntegerFilterRequest"},"clicks":{"$ref":"#/components/schemas/AdvertisingIntegerFilterRequest"},"adOrders":{"$ref":"#/components/schemas/AdvertisingIntegerFilterRequest"},"adSales":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"adSpend":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"acos":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"roas":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"ctr":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"conversionRate":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"cpc":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"},"cpa":{"$ref":"#/components/schemas/AdvertisingDecimalFilterRequest"}},"description":"Filters applied after aggregating campaign performance over the requested date range. Percentage metrics use decimal ratios, for example 0.20 for 20%. Monetary metrics use the store currency. For derived metrics, a positive numerator with a zero denominator is unbounded for comparison only: it matches gt/gte and does not match lt/lte/eq; response values remain null or zero."},"AdvertisingCampaignSearchRequest":{"required":["endDate","startDate","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"startDate":{"type":"string","description":"Start date in yyyy-MM-dd format. The maximum inclusive range is 31 days."},"endDate":{"type":"string","description":"End date in yyyy-MM-dd format. The maximum inclusive range is 31 days."},"filters":{"$ref":"#/components/schemas/AdvertisingCampaignFiltersRequest"},"sortBy":{"type":"string","description":"Metric used for sorting.","enum":["adOrders","adSales","adSpend","conversionRate","ctr","impressions","clicks","acos","roas","cpc","cpa"],"default":"adSpend"},"sortOrder":{"type":"string","description":"Sort direction.","enum":["asc","desc"],"default":"desc"},"offset":{"type":"integer","description":"Zero-based result offset.","format":"int32","default":0},"limit":{"type":"integer","description":"Maximum number of results from 1 to 100.","format":"int32","default":100}},"description":"Advanced search request for advertising campaign performance aggregated over a date range."},"AdvertisingCampaignListResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/Pagination"},"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCampaignPerformance"}}}},"AdvertisingCampaignPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"campaignId":{"type":"integer","format":"int64"},"campaignName":{"type":"string"},"campaignType":{"type":"string"},"state":{"type":"string"},"targetingType":{"type":"string"},"servingStatus":{"type":"string"},"budget":{"$ref":"#/components/schemas/Money"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"}}},"AdvertisingTargetCreateItemRequest":{"required":["asin","bid"],"type":"object","properties":{"asin":{"type":"string","description":"A 10-character Amazon ASIN."},"bid":{"type":"number","description":"Target bid in the marketplace currency.","example":0.65}},"description":"An ASIN product target and its bid."},"AdvertisingTargetCreateRequest":{"required":["adGroupId","storeId","targets"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"campaignId":{"type":"integer","description":"Optional Amazon Ads campaign ID. When provided, the ad group must belong to this campaign.","format":"int64"},"adGroupId":{"type":"integer","description":"Amazon Ads ad group ID.","format":"int64"},"targets":{"type":"array","description":"ASIN targets to create. A request can contain 1 to 100 targets.","items":{"$ref":"#/components/schemas/AdvertisingTargetCreateItemRequest"}}},"description":"Creates ad-group-level ASIN product targets in ENABLED state. Supports Sponsored Products MANUAL campaigns and compatible Sponsored Brands or Sponsored Display product-targeting contexts. Sponsored Products AUTO campaigns are not supported."},"AdvertisingCreateErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"details":{"type":"string"},"fieldLocation":{"type":"string"}}},"AdvertisingTargetCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingTargetCreateResultResponse"}}}},"AdvertisingTargetCreateResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"asin":{"type":"string"},"bid":{"type":"number"},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"targetId":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCreateErrorResponse"}}}},"AdvertisingNegativeTargetCreateRequest":{"required":["adGroupId","storeId","targets"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"campaignId":{"type":"integer","description":"Optional Amazon Ads campaign ID. When provided, the ad group must belong to this campaign.","format":"int64"},"adGroupId":{"type":"integer","description":"Amazon Ads ad group ID.","format":"int64"},"targets":{"type":"array","description":"Negative ASIN targets to create. A request can contain 1 to 100 targets.","items":{"$ref":"#/components/schemas/AdvertisingNegativeTargetRequest"}}},"description":"Creates ad-group-level negative ASIN product targets. Supports Sponsored Products AUTO or MANUAL campaigns and compatible Sponsored Brands or Sponsored Display product-targeting contexts. For Sponsored Display this is an ASIN product exclusion; negative brands are not exposed."},"AdvertisingNegativeTargetRequest":{"required":["asin"],"type":"object","properties":{"asin":{"type":"string","description":"A 10-character Amazon ASIN."}},"description":"A negative ASIN product target."},"AdvertisingNegativeTargetCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingNegativeTargetResultResponse"}}}},"AdvertisingNegativeTargetErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"details":{"type":"string"},"fieldLocation":{"type":"string"}}},"AdvertisingNegativeTargetResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"asin":{"type":"string"},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"targetId":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingNegativeTargetErrorResponse"}}}},"AdvertisingNegativeKeywordCreateRequest":{"required":["keywords","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"campaignId":{"type":"integer","description":"Amazon Ads campaign ID. Required when adGroupId is absent.","format":"int64"},"adGroupId":{"type":"integer","description":"Amazon Ads ad group ID. When provided, keywords are created at ad-group level.","format":"int64"},"keywords":{"type":"array","description":"Negative keywords to create. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordRequest"}}},"description":"Creates campaign-level or ad-group-level negative keywords. Supports Sponsored Products AUTO or MANUAL campaigns and compatible Sponsored Brands keyword-targeting campaigns. Sponsored Display does not support keywords or negative keywords."},"AdvertisingNegativeKeywordRequest":{"required":["keywordText","matchType"],"type":"object","properties":{"keywordText":{"type":"string","description":"Negative keyword text."},"matchType":{"type":"string","description":"Negative keyword match type. BROAD is not supported.","enum":["PHRASE","EXACT"]}},"description":"Negative keywords to create. A request can contain 1 to 100 items."},"AdvertisingNegativeKeywordCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordResultResponse"}}}},"AdvertisingNegativeKeywordResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"keywordText":{"type":"string"},"matchType":{"type":"string","enum":["BROAD","EXACT","PHRASE"]},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"keywordId":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingNegativeTargetErrorResponse"}}}},"AdvertisingKeywordCreateItemRequest":{"required":["bid","keywordText","matchType"],"type":"object","properties":{"keywordText":{"type":"string","description":"Keyword text."},"matchType":{"type":"string","enum":["BROAD","PHRASE","EXACT"]},"bid":{"type":"number","description":"Keyword bid in the marketplace currency.","example":0.65}},"description":"A keyword, match type, and bid."},"AdvertisingKeywordCreateRequest":{"required":["adGroupId","keywords","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"campaignId":{"type":"integer","description":"Optional Amazon Ads campaign ID. When provided, the ad group must belong to this campaign.","format":"int64"},"adGroupId":{"type":"integer","description":"Amazon Ads ad group ID.","format":"int64"},"keywords":{"type":"array","description":"Keywords to create. A request can contain 1 to 100 keywords.","items":{"$ref":"#/components/schemas/AdvertisingKeywordCreateItemRequest"}}},"description":"Creates ad-group-level keywords in ENABLED state. Supports Sponsored Products MANUAL and compatible Sponsored Brands keyword-targeting campaigns. Sponsored Products AUTO and Sponsored Display campaigns are not supported."},"AdvertisingKeywordCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingKeywordCreateResultResponse"}}}},"AdvertisingKeywordCreateResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"keywordText":{"type":"string"},"matchType":{"type":"string","enum":["BROAD","EXACT","PHRASE"]},"bid":{"type":"number"},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"keywordId":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCreateErrorResponse"}}}},"AdvertisingCampaignCreateItemRequest":{"required":["adProduct","dailyBudget","name","targetingType"],"type":"object","properties":{"adProduct":{"type":"string","description":"Advertising product. Campaign creation currently supports Sponsored Products only.","enum":["SPONSORED_PRODUCTS"]},"name":{"type":"string","description":"Campaign name."},"targetingType":{"type":"string","enum":["MANUAL","AUTO"]},"dailyBudget":{"type":"number","description":"Daily budget in the marketplace currency.","example":20.0},"startDate":{"type":"string","description":"Optional campaign start date in yyyy-MM-dd format. Defaults to the current date in the store marketplace time zone.","example":"2026-08-27"},"endDate":{"type":"string","description":"Optional inclusive campaign end date in yyyy-MM-dd format.","example":"2026-12-31"},"portfolioId":{"type":"integer","description":"Optional existing portfolio ID.","format":"int64"},"bidStrategy":{"type":"string","description":"Optional bid strategy. Defaults to DYNAMIC_DOWN_ONLY.","enum":["FIXED","DYNAMIC_DOWN_ONLY","DYNAMIC_UP_AND_DOWN"]},"placementBidAdjustments":{"type":"array","description":"Optional placement bid adjustments. Placements must be unique within a campaign.","items":{"$ref":"#/components/schemas/AdvertisingCampaignPlacementBidAdjustmentRequest"}}},"description":"Sponsored Products campaign to create in ENABLED state."},"AdvertisingCampaignCreateRequest":{"required":["campaigns","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"campaigns":{"type":"array","description":"Sponsored Products campaigns to create. Supports 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingCampaignCreateItemRequest"}}},"description":"Creates one or more ENABLED Sponsored Products campaigns."},"AdvertisingCampaignPlacementBidAdjustmentRequest":{"required":["percentage","placement"],"type":"object","properties":{"placement":{"type":"string","enum":["TOP_OF_SEARCH","PRODUCT_PAGE","REST_OF_SEARCH","SITE_AMAZON_BUSINESS"]},"percentage":{"type":"integer","description":"Bid increase percentage from 0 through 900.","format":"int32","example":50}},"description":"Sponsored Products placement bid adjustment."},"AdvertisingCampaignCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCampaignCreateResultResponse"}}}},"AdvertisingCampaignCreateResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"campaignId":{"type":"string"},"name":{"type":"string"},"adProduct":{"type":"string"},"targetingType":{"type":"string"},"dailyBudget":{"type":"number"},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCreateErrorResponse"}}}},"AdvertisingAdCreateRequest":{"required":["adGroupId","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"campaignId":{"type":"integer","description":"Optional Amazon Ads campaign ID. When provided, the ad group must belong to this campaign.","format":"int64"},"adGroupId":{"type":"integer","description":"Amazon Ads ad group ID.","format":"int64"},"skus":{"type":"array","description":"Seller SKUs to advertise. When this array is non-empty, it takes precedence over asins.","items":{"type":"string","description":"Seller SKUs to advertise. When this array is non-empty, it takes precedence over asins."}},"asins":{"type":"array","description":"ASINs to advertise. Used only when skus is null or empty.","items":{"type":"string","description":"ASINs to advertise. Used only when skus is null or empty."}}},"description":"Creates ENABLED product ads under one existing Sponsored Products or Sponsored Display ad group. Sponsored Products uses PRODUCT_AD with productCreative; Sponsored Display uses COMPONENT with a responsive eCommerce componentCreative. Every submitted SKU or ASIN must resolve to both identifiers in Listings; non-production environments and the Review Sandbox are exempt from this existence check."},"AdvertisingAdCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingAdCreateResultResponse"}}}},"AdvertisingAdCreateResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"campaignId":{"type":"integer","format":"int64"},"adGroupId":{"type":"integer","format":"int64"},"adProduct":{"type":"string"},"sku":{"type":"string"},"asin":{"type":"string"},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"adId":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCreateErrorResponse"}}}},"AdvertisingAdGroupCreateItemRequest":{"required":["campaignId","name"],"type":"object","properties":{"campaignId":{"type":"integer","description":"Existing Amazon Ads campaign ID.","format":"int64"},"name":{"type":"string","description":"Ad group name. The name must be unique within its campaign."},"defaultBid":{"type":"number","description":"Optional default bid for Sponsored Products and Sponsored Display in the marketplace currency. When omitted for SP/SD, the API uses 25 times the marketplace minimum bid. Sponsored Brands ad groups do not support a default bid; a supplied value is ignored and is not sent to Amazon.","example":0.65},"automaticTargetBidding":{"$ref":"#/components/schemas/AdvertisingAutomaticTargetBiddingRequest"}},"description":"An ad group to create under an existing Sponsored Products, Sponsored Display, or Sponsored Brands campaign."},"AdvertisingAdGroupCreateRequest":{"required":["adGroups","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"adGroups":{"type":"array","description":"Ad groups to create. A request can contain 1 to 100 ad groups.","items":{"$ref":"#/components/schemas/AdvertisingAdGroupCreateItemRequest"}}},"description":"Creates one or more ENABLED ad groups under existing Sponsored Products, Sponsored Display, or Sponsored Brands campaigns."},"AdvertisingAutomaticTargetBidRequest":{"required":["bid","matchType"],"type":"object","properties":{"matchType":{"type":"string","description":"Automatic targeting theme.","enum":["KEYWORDS_CLOSE_MATCH","KEYWORDS_LOOSE_MATCH","PRODUCT_SUBSTITUTES","PRODUCT_COMPLEMENTS"]},"bid":{"type":"number","description":"Bid in marketplace currency.","example":0.65}},"description":"One customer-specified bid for an Amazon-created Sponsored Products automatic target."},"AdvertisingAutomaticTargetBiddingRequest":{"required":["mode"],"type":"object","properties":{"mode":{"type":"string","description":"KEEP_DEFAULT leaves the four current bids unchanged, AMAZON_SUGGESTED requests a bid-recommendation follow-up, CUSTOM prepares a four-target targeting-change follow-up, and DECIDE_LATER asks the customer after creation.","enum":["KEEP_DEFAULT","AMAZON_SUGGESTED","CUSTOM","DECIDE_LATER"]},"bids":{"type":"array","description":"Exactly one bid for each of the four automatic themes when mode=CUSTOM; omit for all other modes.","items":{"$ref":"#/components/schemas/AdvertisingAutomaticTargetBidRequest"}}},"description":"Bid choice for the four targets Amazon creates after a Sponsored Products automatic ad group is created. This choice controls the returned follow-up action; it never bypasses the separate targeting-change confirmation."},"AdvertisingAdGroupCreateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingAdGroupCreateResultResponse"}}}},"AdvertisingAdGroupCreateResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"campaignId":{"type":"integer","format":"int64"},"name":{"type":"string"},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"defaultBid":{"type":"number"},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"adGroupId":{"type":"string"},"automaticTargetsSyncStatus":{"type":"string","description":"Automatic target synchronization status for a successfully created Sponsored Products AUTO ad group. Null for other campaign types.","nullable":true,"enum":["SYNCED","PENDING","RATE_LIMITED","FAILED"]},"automaticTargetCount":{"type":"integer","description":"Number of Amazon-created close-match, loose-match, substitutes, and complements targets synchronized locally.","format":"int32","nullable":true},"automaticTargetsSyncDetails":{"type":"string","description":"Human-readable automatic target synchronization result. Ad group creation remains successful when this follow-up read is pending, rate-limited, or fails.","nullable":true},"automaticTargets":{"type":"array","description":"The four synchronized automatic targets, including stable target IDs needed by bid recommendation and AD_TARGETING_CHANGE. Empty until synchronization succeeds.","items":{"$ref":"#/components/schemas/AdvertisingAutomaticTargetResponse"}},"automaticTargetBiddingMode":{"type":"string","description":"Recorded automatic-target bid choice for this ad group.","nullable":true,"enum":["KEEP_DEFAULT","AMAZON_SUGGESTED","CUSTOM","DECIDE_LATER"]},"automaticTargetBidNextAction":{"type":"object","additionalProperties":{"type":"object","description":"Machine-readable continuation. AMAZON_SUGGESTED contains a batch query_advertising_bid_recommendations call; CUSTOM contains an AD_TARGETING_CHANGE prepare_workflow_plan call; DECIDE_LATER asks the customer to choose; KEEP_DEFAULT has no tool."},"description":"Machine-readable continuation. AMAZON_SUGGESTED contains a batch query_advertising_bid_recommendations call; CUSTOM contains an AD_TARGETING_CHANGE prepare_workflow_plan call; DECIDE_LATER asks the customer to choose; KEEP_DEFAULT has no tool."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCreateErrorResponse"}}}},"AdvertisingAutomaticTargetResponse":{"type":"object","properties":{"targetId":{"type":"integer","format":"int64"},"matchType":{"type":"string","enum":["KEYWORDS_CLOSE_MATCH","KEYWORDS_LOOSE_MATCH","PRODUCT_SUBSTITUTES","PRODUCT_COMPLEMENTS"]},"currentBid":{"type":"number"},"state":{"type":"string"}},"description":"One of the four targets Amazon created for a Sponsored Products automatic ad group."},"AdvertisingTargetUpdateItemRequest":{"required":["targetId"],"type":"object","properties":{"targetId":{"type":"integer","description":"Amazon Ads target ID.","format":"int64"},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"bid":{"type":"number","description":"New bid for a positive target. Negative targets do not support bids."}},"description":"Target updates. A request can contain 1 to 100 items."},"AdvertisingTargetUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Target updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingTargetUpdateItemRequest"}}}},"AdvertisingEntityUpdateResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingEntityUpdateResultResponse"}}}},"AdvertisingEntityUpdateResultResponse":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"entityId":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["SUCCEEDED","PARTIALLY_SUCCEEDED","FAILED"]},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingManagementErrorResponse"}}}},"AdvertisingManagementErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"details":{"type":"string"},"fieldLocation":{"type":"string"},"upstreamStatus":{"type":"integer","description":"HTTP status returned by Amazon Ads for a failed write group, when available.","format":"int32"},"upstreamResponse":{"type":"string","description":"Sanitized Amazon Ads response body for a failed write group, when available."}}},"AdvertisingNegativeTargetUpdateItemRequest":{"required":["state","targetId"],"type":"object","properties":{"targetId":{"type":"integer","description":"Amazon Ads negative target ID.","format":"int64"},"state":{"type":"string","description":"Writable negative placement state. PAUSED is query-only; ARCHIVED is terminal.","enum":["ENABLED","ARCHIVED","ENABLED","ARCHIVED"]}},"description":"Negative target updates. A request can contain 1 to 100 items."},"AdvertisingNegativeTargetUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Negative target updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingNegativeTargetUpdateItemRequest"}}}},"AdvertisingNegativeKeywordUpdateItemRequest":{"required":["keywordId","state"],"type":"object","properties":{"keywordId":{"type":"integer","description":"Amazon Ads negative keyword ID.","format":"int64"},"state":{"type":"string","description":"Writable negative placement state. PAUSED is query-only; ARCHIVED is terminal.","enum":["ENABLED","ARCHIVED","ENABLED","ARCHIVED"]}},"description":"Negative keyword updates. A request can contain 1 to 100 items."},"AdvertisingNegativeKeywordUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Negative keyword updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordUpdateItemRequest"}}}},"AdvertisingKeywordUpdateItemRequest":{"required":["keywordId"],"type":"object","properties":{"keywordId":{"type":"integer","description":"Amazon Ads keyword ID.","format":"int64"},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"bid":{"type":"number","description":"New keyword bid. Must be greater than zero."}},"description":"Keyword updates. A request can contain 1 to 100 items."},"AdvertisingKeywordUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Keyword updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingKeywordUpdateItemRequest"}}}},"AdvertisingCampaignUpdateItemRequest":{"required":["campaignId"],"type":"object","properties":{"campaignId":{"type":"integer","description":"Amazon Ads campaign ID.","format":"int64"},"name":{"type":"string","description":"New campaign name. Must not be blank when supplied."},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"dailyBudget":{"type":"number","description":"New daily monetary budget. Must be greater than zero."}},"description":"Campaign updates. A request can contain 1 to 100 items."},"AdvertisingCampaignUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Campaign updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingCampaignUpdateItemRequest"}}}},"AdvertisingAdUpdateItemRequest":{"required":["adId"],"type":"object","properties":{"adId":{"type":"integer","description":"Amazon Ads ad ID.","format":"int64"},"name":{"type":"string","description":"New ad name for Sponsored Brands. Sponsored Products and Sponsored Display product ads do not have a writable name, so this field is ignored when state is also supplied."},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]}},"description":"Ad updates. A request can contain 1 to 100 items."},"AdvertisingAdUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Ad updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingAdUpdateItemRequest"}}}},"AdvertisingAdGroupUpdateItemRequest":{"required":["adGroupId"],"type":"object","properties":{"adGroupId":{"type":"integer","description":"Amazon Ads ad group ID.","format":"int64"},"name":{"type":"string","description":"New ad group name. Must not be blank when supplied."},"state":{"type":"string","description":"Mutable advertising entity state. ARCHIVED is not supported.","enum":["ENABLED","PAUSED","ENABLED","PAUSED"]},"defaultBid":{"type":"number","description":"New default bid for Sponsored Products or Sponsored Display. Sponsored Brands ad groups do not have a default bid, so this field is ignored when name or state is also supplied. An SB item containing only this field has no supported changes. Must be greater than zero."}},"description":"Ad group updates. A request can contain 1 to 100 items."},"AdvertisingAdGroupUpdateRequest":{"required":["items","storeId"],"type":"object","properties":{"storeId":{"type":"string","description":"Store ID in sellerId:marketplaceId format."},"items":{"type":"array","description":"Ad group updates. A request can contain 1 to 100 items.","items":{"$ref":"#/components/schemas/AdvertisingAdGroupUpdateItemRequest"}}}},"StoreMarketplace":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier for v2 data APIs, formatted as sellerId:marketplaceId."},"name":{"type":"string"},"marketplaceId":{"type":"string"},"timeZone":{"type":"string"},"spApiStatus":{"type":"string","description":"Store data access status. ACTIVE means store data APIs are currently available for this marketplace. INACTIVE means store data APIs are currently unavailable for this marketplace.","enum":["ACTIVE","INACTIVE"]},"adApiStatus":{"type":"string","description":"Advertising data access status. ACTIVE means advertising data APIs are currently available for this marketplace. INACTIVE means advertising access is disabled for the seller account. UNAUTHORIZED means advertising access is enabled for the seller account, but not authorized for this marketplace.","enum":["ACTIVE","INACTIVE","UNAUTHORIZED"]},"activeStatus":{"type":"string","description":"Store selection status. ACTIVE means the marketplace is enabled and can be selected in data requests. INACTIVE means the marketplace is disabled and should not be selected in data requests.","enum":["ACTIVE","INACTIVE"]},"createdAt":{"type":"string"}}},"StoreSeller":{"type":"object","properties":{"name":{"type":"string"},"sellerId":{"type":"string"},"spApiAuthorized":{"type":"boolean"},"adApiAuthorized":{"type":"boolean"},"createdAt":{"type":"string"},"marketplaces":{"type":"array","items":{"$ref":"#/components/schemas/StoreMarketplace"}}}},"Sales":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"orders":{"type":"integer","description":"Number of orders.","format":"int32"},"units":{"type":"integer","description":"Number of units sold.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"}},"description":"Store-level sales summaries in each marketplace default currency."},"SalesSummaryList":{"type":"object","properties":{"summary":{"$ref":"#/components/schemas/SalesSummaryTotal"},"items":{"type":"array","description":"Store-level sales summaries in each marketplace default currency.","items":{"$ref":"#/components/schemas/Sales"}}}},"SalesSummaryTotal":{"type":"object","properties":{"orders":{"type":"integer","description":"Total number of orders.","format":"int32"},"units":{"type":"integer","description":"Total number of units sold.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"}},"description":"Sales summary converted to the API user's default currency."},"SalesSku":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"sku":{"type":"string"},"asin":{"type":"string","description":"Amazon Standard Identification Number. Null when the current SKU is not found in the marketplace listing table."},"orders":{"type":"integer","description":"Number of orders.","format":"int32"},"units":{"type":"integer","description":"Number of units sold.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"}}},"SalesSkuList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SalesSku"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"SalesItem":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."},"sku":{"type":"string"},"asin":{"type":"string","description":"Amazon Standard Identification Number. Null when the current SKU is not found in the marketplace listing table."},"orders":{"type":"integer","description":"Number of orders.","format":"int32"},"units":{"type":"integer","description":"Number of units sold.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"}}},"SalesList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SalesItem"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"SalesDailySummary":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"orders":{"type":"integer","description":"Number of orders.","format":"int32"},"units":{"type":"integer","description":"Number of units sold.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}},"description":"Daily store-level sales summaries in each marketplace default currency."},"SalesDailySummaryList":{"type":"object","properties":{"summary":{"$ref":"#/components/schemas/SalesSummaryTotal"},"items":{"type":"array","description":"Daily store-level sales summaries in each marketplace default currency.","items":{"$ref":"#/components/schemas/SalesDailySummary"}}}},"SalesTrafficStore":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"orders":{"type":"integer","description":"Number of ordered product sales.","format":"int32"},"ordersB2b":{"type":"integer","description":"Number of B2B ordered product sales.","format":"int32"},"units":{"type":"integer","description":"Number of units ordered.","format":"int32"},"unitsB2b":{"type":"integer","description":"Number of B2B units ordered.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"salesB2b":{"$ref":"#/components/schemas/Money"},"browserSessions":{"type":"integer","description":"Number of browser sessions.","format":"int32"},"mobileAppSessions":{"type":"integer","description":"Number of mobile app sessions.","format":"int32"},"sessions":{"type":"integer","description":"Total number of sessions.","format":"int32"},"browserSessionPercentage":{"type":"number","description":"Browser session percentage."},"mobileAppSessionPercentage":{"type":"number","description":"Mobile app session percentage."},"sessionPercentage":{"type":"number","description":"Session percentage."},"browserPageViews":{"type":"integer","description":"Number of browser page views.","format":"int32"},"mobileAppPageViews":{"type":"integer","description":"Number of mobile app page views.","format":"int32"},"pageViews":{"type":"integer","description":"Total number of page views.","format":"int32"},"browserPageViewsPercentage":{"type":"number","description":"Browser page views percentage."},"mobileAppPageViewsPercentage":{"type":"number","description":"Mobile app page views percentage."},"pageViewsPercentage":{"type":"number","description":"Page views percentage."},"buyBoxPercentage":{"type":"number","description":"Buy Box percentage."},"unitSessionPercentage":{"type":"number","description":"Unit session percentage."},"orderSessionPercentage":{"type":"number","description":"Order session percentage."},"unitSessionPercentageB2b":{"type":"number","description":"B2B unit session percentage."},"buyBoxViews":{"type":"number","description":"Buy Box views."}}},"SalesTraffic":{"type":"object","properties":{"asin":{"type":"string","description":"Amazon Standard Identification Number."},"parentAsin":{"type":"string","description":"Parent Amazon Standard Identification Number."},"imageUrl":{"type":"string","description":"Main product image URL when listing metadata is available."},"title":{"type":"string","description":"Product title when listing metadata is available."},"orders":{"type":"integer","description":"Number of ordered product sales.","format":"int32"},"ordersB2b":{"type":"integer","description":"Number of B2B ordered product sales.","format":"int32"},"units":{"type":"integer","description":"Number of units ordered.","format":"int32"},"unitsB2b":{"type":"integer","description":"Number of B2B units ordered.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"salesB2b":{"$ref":"#/components/schemas/Money"},"browserSessions":{"type":"integer","description":"Number of browser sessions.","format":"int32"},"mobileAppSessions":{"type":"integer","description":"Number of mobile app sessions.","format":"int32"},"sessions":{"type":"integer","description":"Total number of sessions.","format":"int32"},"browserSessionPercentage":{"type":"number","description":"Browser session percentage."},"mobileAppSessionPercentage":{"type":"number","description":"Mobile app session percentage."},"sessionPercentage":{"type":"number","description":"Session percentage."},"browserPageViews":{"type":"integer","description":"Number of browser page views.","format":"int32"},"mobileAppPageViews":{"type":"integer","description":"Number of mobile app page views.","format":"int32"},"pageViews":{"type":"integer","description":"Total number of page views.","format":"int32"},"browserPageViewsPercentage":{"type":"number","description":"Browser page views percentage."},"mobileAppPageViewsPercentage":{"type":"number","description":"Mobile app page views percentage."},"pageViewsPercentage":{"type":"number","description":"Page views percentage."},"buyBoxPercentage":{"type":"number","description":"Buy Box percentage."},"unitSessionPercentage":{"type":"number","description":"Unit session percentage."},"orderSessionPercentage":{"type":"number","description":"Order session percentage."},"unitSessionPercentageB2b":{"type":"number","description":"B2B unit session percentage."},"buyBoxViews":{"type":"number","description":"Buy Box views."}}},"SalesTrafficList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SalesTraffic"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"SalesTrafficDaily":{"type":"object","properties":{"asin":{"type":"string","description":"Amazon Standard Identification Number."},"parentAsin":{"type":"string","description":"Parent Amazon Standard Identification Number."},"imageUrl":{"type":"string","description":"Main product image URL when listing metadata is available."},"title":{"type":"string","description":"Product title when listing metadata is available."},"orders":{"type":"integer","description":"Number of ordered product sales.","format":"int32"},"ordersB2b":{"type":"integer","description":"Number of B2B ordered product sales.","format":"int32"},"units":{"type":"integer","description":"Number of units ordered.","format":"int32"},"unitsB2b":{"type":"integer","description":"Number of B2B units ordered.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"salesB2b":{"$ref":"#/components/schemas/Money"},"browserSessions":{"type":"integer","description":"Number of browser sessions.","format":"int32"},"mobileAppSessions":{"type":"integer","description":"Number of mobile app sessions.","format":"int32"},"sessions":{"type":"integer","description":"Total number of sessions.","format":"int32"},"browserSessionPercentage":{"type":"number","description":"Browser session percentage."},"mobileAppSessionPercentage":{"type":"number","description":"Mobile app session percentage."},"sessionPercentage":{"type":"number","description":"Session percentage."},"browserPageViews":{"type":"integer","description":"Number of browser page views.","format":"int32"},"mobileAppPageViews":{"type":"integer","description":"Number of mobile app page views.","format":"int32"},"pageViews":{"type":"integer","description":"Total number of page views.","format":"int32"},"browserPageViewsPercentage":{"type":"number","description":"Browser page views percentage."},"mobileAppPageViewsPercentage":{"type":"number","description":"Mobile app page views percentage."},"pageViewsPercentage":{"type":"number","description":"Page views percentage."},"buyBoxPercentage":{"type":"number","description":"Buy Box percentage."},"unitSessionPercentage":{"type":"number","description":"Unit session percentage."},"orderSessionPercentage":{"type":"number","description":"Order session percentage."},"unitSessionPercentageB2b":{"type":"number","description":"B2B unit session percentage."},"buyBoxViews":{"type":"number","description":"Buy Box views."},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}}},"SalesTrafficDailyList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SalesTrafficDaily"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"SalesTrafficDailyStore":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"orders":{"type":"integer","description":"Number of ordered product sales.","format":"int32"},"ordersB2b":{"type":"integer","description":"Number of B2B ordered product sales.","format":"int32"},"units":{"type":"integer","description":"Number of units ordered.","format":"int32"},"unitsB2b":{"type":"integer","description":"Number of B2B units ordered.","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"salesB2b":{"$ref":"#/components/schemas/Money"},"browserSessions":{"type":"integer","description":"Number of browser sessions.","format":"int32"},"mobileAppSessions":{"type":"integer","description":"Number of mobile app sessions.","format":"int32"},"sessions":{"type":"integer","description":"Total number of sessions.","format":"int32"},"browserSessionPercentage":{"type":"number","description":"Browser session percentage."},"mobileAppSessionPercentage":{"type":"number","description":"Mobile app session percentage."},"sessionPercentage":{"type":"number","description":"Session percentage."},"browserPageViews":{"type":"integer","description":"Number of browser page views.","format":"int32"},"mobileAppPageViews":{"type":"integer","description":"Number of mobile app page views.","format":"int32"},"pageViews":{"type":"integer","description":"Total number of page views.","format":"int32"},"browserPageViewsPercentage":{"type":"number","description":"Browser page views percentage."},"mobileAppPageViewsPercentage":{"type":"number","description":"Mobile app page views percentage."},"pageViewsPercentage":{"type":"number","description":"Page views percentage."},"buyBoxPercentage":{"type":"number","description":"Buy Box percentage."},"unitSessionPercentage":{"type":"number","description":"Unit session percentage."},"orderSessionPercentage":{"type":"number","description":"Order session percentage."},"unitSessionPercentageB2b":{"type":"number","description":"B2B unit session percentage."},"buyBoxViews":{"type":"number","description":"Buy Box views."},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}},"description":"Daily store-level sales traffic summaries."},"SalesTrafficDailyStoreList":{"type":"object","properties":{"summary":{"$ref":"#/components/schemas/SalesTrafficStore"},"items":{"type":"array","description":"Daily store-level sales traffic summaries.","items":{"$ref":"#/components/schemas/SalesTrafficDailyStore"}}}},"ReviewTrackingProduct":{"type":"object","properties":{"storeId":{"type":"string"},"parentAsin":{"type":"string"},"imageUrl":{"type":"string"},"title":{"type":"string"},"rating":{"type":"number","format":"double"}}},"ReviewTrackingProductList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReviewTrackingProduct"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ProfitCostBreakdown":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/Money"},"items":{"type":"array","description":"Complete cost breakdown. Item amounts add up to total.","items":{"$ref":"#/components/schemas/ProfitCostItem"}}}},"ProfitCostDetails":{"type":"object","properties":{"other":{"$ref":"#/components/schemas/Money"},"shippingCharge":{"$ref":"#/components/schemas/Money"},"inventoryCredit":{"$ref":"#/components/schemas/Money"},"liquidationProceeds":{"$ref":"#/components/schemas/Money"},"liquidationFees":{"$ref":"#/components/schemas/Money"},"liquidationProceedsAdjustment":{"$ref":"#/components/schemas/Money"},"digitalServicesFee":{"$ref":"#/components/schemas/Money"},"digitalServicesFeeRefund":{"$ref":"#/components/schemas/Money"},"subscriptionFee":{"$ref":"#/components/schemas/Money"},"couponFee":{"$ref":"#/components/schemas/Money"},"otherFee":{"$ref":"#/components/schemas/Money"}}},"ProfitCostItem":{"type":"object","properties":{"type":{"type":"string","enum":["FBA_FEE","COMMISSION","ADVERTISING","PURCHASE","LOGISTICS","OTHER","STORAGE","SPLIT_FEE","PROMOTION","TAX","CUSTOM"]},"amount":{"$ref":"#/components/schemas/Money"}},"description":"Complete cost breakdown. Item amounts add up to total."},"ProfitStore":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"}}},"ProfitSku":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"sku":{"type":"string"},"asin":{"type":"string"},"parentAsin":{"type":"string"}}},"ProfitSkuList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfitSku"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ProfitDailySku":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"sku":{"type":"string"},"asin":{"type":"string"},"parentAsin":{"type":"string"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}}},"ProfitDailySkuList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfitDailySku"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ProfitParentAsin":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"parentAsin":{"type":"string"}}},"ProfitParentAsinList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfitParentAsin"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ProfitDailyParentAsin":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"parentAsin":{"type":"string"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}}},"ProfitDailyParentAsinList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfitDailyParentAsin"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ProfitDailyStore":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}},"description":"Daily store-level profit summaries."},"ProfitDailyStoreList":{"type":"object","properties":{"summary":{"$ref":"#/components/schemas/ProfitStore"},"items":{"type":"array","description":"Daily store-level profit summaries.","items":{"$ref":"#/components/schemas/ProfitDailyStore"}}}},"ProfitAsin":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"asin":{"type":"string"},"parentAsin":{"type":"string"}}},"ProfitAsinList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfitAsin"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ProfitDailyAsin":{"type":"object","properties":{"storeId":{"type":"string","description":"Stable store identifier, formatted as sellerId:marketplaceId."},"imageUrl":{"type":"string"},"title":{"type":"string"},"orders":{"type":"integer","format":"int32"},"units":{"type":"integer","format":"int32"},"netUnits":{"type":"integer","format":"int32"},"refundedUnits":{"type":"integer","format":"int32"},"sales":{"$ref":"#/components/schemas/Money"},"netSales":{"$ref":"#/components/schemas/Money"},"refunds":{"$ref":"#/components/schemas/Money"},"profit":{"$ref":"#/components/schemas/Money"},"profitPercentage":{"type":"number","description":"Profit percentage. 32.41 means 32.41%."},"refundPercentage":{"type":"number","description":"Refund percentage. 8.33 means 8.33%."},"costs":{"$ref":"#/components/schemas/ProfitCostBreakdown"},"costDetails":{"$ref":"#/components/schemas/ProfitCostDetails"},"asin":{"type":"string"},"parentAsin":{"type":"string"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}}},"ProfitDailyAsinList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfitDailyAsin"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"UserProfile":{"type":"object","properties":{"currencyCode":{"type":"string","description":"Default currency code for currency conversion, formatted as ISO 4217."},"timeZone":{"type":"string","description":"Default IANA time zone for date and time interpretation."},"language":{"type":"string","description":"Default display language, formatted as a BCP 47 language tag."},"createdAt":{"type":"string","description":"User creation time in UTC ISO-8601 instant format."}}},"InventoryAlert":{"type":"object","properties":{"asin":{"type":"string"},"sku":{"type":"string"},"parentAsin":{"type":"string"},"title":{"type":"string"},"imageUrl":{"type":"string"},"fnsku":{"type":"string"},"salesChannel":{"type":"string","description":"Inventory fulfillment channel. AFN means Amazon fulfillment. MFN means merchant fulfillment.","enum":["AFN","MFN"]},"alertType":{"type":"string","enum":["LOW_STOCK","EXCESS_STOCK","LONG_TERM_STORAGE","RECOMMENDED_REMOVAL"]},"alertSource":{"type":"string","enum":["RULE_BASED","FBA_RESTOCK_RECOMMENDATION","FBA_INVENTORY_PLANNING"]},"fulfillableQuantity":{"type":"integer","format":"int32"},"processingQuantity":{"type":"integer","format":"int32"},"reservedQuantity":{"type":"integer","format":"int32"},"totalQuantity":{"type":"integer","format":"int32"},"averageDailySales":{"type":"number","format":"double"},"stockCoverageDays":{"type":"integer","format":"int32"},"recommendedQuantity":{"type":"integer","format":"int32"},"excessQuantity":{"type":"integer","format":"int32"},"estimatedExcessCost":{"type":"number","format":"double"},"longTermStorageFee":{"type":"number","format":"double"},"recommendedRemovalQuantity":{"type":"number","format":"double"},"restockRecommendations":{"type":"array","items":{"$ref":"#/components/schemas/InventoryAlertRestockRecommendation"}}}},"InventoryAlertList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InventoryAlert"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"InventoryAlertRestockRecommendation":{"type":"object","properties":{"restockType":{"type":"string","enum":["OCEAN_SHIPPING","AIR_SHIPPING","URGENT"]},"recommendedQuantity":{"type":"integer","format":"int32"}}},"Inventory":{"type":"object","properties":{"asin":{"type":"string","description":"Amazon Standard Identification Number."},"sku":{"type":"string"},"parentAsin":{"type":"string","description":"Parent Amazon Standard Identification Number."},"title":{"type":"string","description":"Product title."},"imageUrl":{"type":"string","description":"Product image URL."},"fnsku":{"type":"string","description":"Fulfillment Network SKU."},"salesChannel":{"type":"string","description":"Inventory fulfillment channel. AFN means Amazon fulfillment. MFN means merchant fulfillment.","enum":["AFN","MFN"]},"status":{"type":"string","description":"Inventory listing status. ACTIVE means the listing is online. INACTIVE means the listing is not online.","enum":["ACTIVE","INACTIVE"]},"updatedAt":{"type":"string","description":"Last inventory update time as a UTC ISO-8601 instant."},"fulfillableQuantity":{"type":"integer","description":"Fulfillable quantity.","format":"int32"},"inboundWorkingQuantity":{"type":"integer","description":"Inbound working quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inboundShippedQuantity":{"type":"integer","description":"Inbound shipped quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inboundReceivingQuantity":{"type":"integer","description":"Inbound receiving quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"reservedQuantity":{"type":"integer","description":"Reserved quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"customerOrderReservedQuantity":{"type":"integer","description":"Customer order reserved quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"fcTransferReservedQuantity":{"type":"integer","description":"Fulfillment center transfer reserved quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"fcProcessingReservedQuantity":{"type":"integer","description":"Fulfillment center processing reserved quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inventoryAge0To90Days":{"type":"integer","description":"Inventory age quantity from 0 to 90 days. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inventoryAge91To180Days":{"type":"integer","description":"Inventory age quantity from 91 to 180 days. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inventoryAge181To270Days":{"type":"integer","description":"Inventory age quantity from 181 to 270 days. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inventoryAge271To365Days":{"type":"integer","description":"Inventory age quantity from 271 to 365 days. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"inventoryAge365PlusDays":{"type":"integer","description":"Inventory age quantity over 365 days. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"maxShipmentQuantity":{"type":"integer","description":"Maximum shipment quantity. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"maxShipmentInventoryThreshold":{"type":"integer","description":"Maximum shipment inventory threshold. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"shipmentUtilization":{"type":"integer","description":"Shipment utilization. Applies to AFN inventory; null for MFN inventory when not applicable.","format":"int32"},"unfulfillableQuantity":{"$ref":"#/components/schemas/InventoryUnfulfillableQuantity"},"researchingQuantity":{"$ref":"#/components/schemas/InventoryResearchingQuantity"}}},"InventoryList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Inventory"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"InventoryResearchingQuantity":{"type":"object","properties":{"totalResearchingQuantity":{"type":"integer","description":"Total researching quantity.","format":"int32"},"breakdown":{"type":"array","description":"Researching quantity breakdown.","items":{"$ref":"#/components/schemas/InventoryResearchingQuantityBreakdown"}}},"description":"Researching inventory quantity details. Applies to AFN inventory; null for MFN inventory when not applicable."},"InventoryResearchingQuantityBreakdown":{"type":"object","properties":{"name":{"type":"string","description":"Researching quantity bucket name."},"quantity":{"type":"integer","description":"Quantity in this researching bucket.","format":"int32"}},"description":"Researching quantity breakdown."},"InventoryUnfulfillableQuantity":{"type":"object","properties":{"totalUnfulfillableQuantity":{"type":"integer","description":"Total unfulfillable quantity.","format":"int32"},"customerDamagedQuantity":{"type":"integer","description":"Customer damaged quantity.","format":"int32"},"warehouseDamagedQuantity":{"type":"integer","description":"Warehouse damaged quantity.","format":"int32"},"distributorDamagedQuantity":{"type":"integer","description":"Distributor damaged quantity.","format":"int32"},"carrierDamagedQuantity":{"type":"integer","description":"Carrier damaged quantity.","format":"int32"},"defectiveQuantity":{"type":"integer","description":"Defective quantity.","format":"int32"},"expiredQuantity":{"type":"integer","description":"Expired quantity.","format":"int32"}},"description":"Unfulfillable inventory quantity details. Applies to AFN inventory; null for MFN inventory when not applicable."},"InboundShipment":{"type":"object","properties":{"sellerId":{"type":"string","description":"Seller identifier."},"shipmentId":{"type":"string","description":"Amazon inbound shipment identifier."},"shipmentName":{"type":"string","description":"Inbound shipment name."},"shipmentStatus":{"type":"string","description":"Inbound shipment status."}}},"InboundShipmentList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InboundShipment"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"InboundShipmentItem":{"type":"object","properties":{"sellerId":{"type":"string","description":"Seller identifier."},"shipmentId":{"type":"string","description":"Amazon inbound shipment identifier."},"sku":{"type":"string"},"fulfillmentNetworkSku":{"type":"string","description":"Fulfillment Network SKU."},"quantityShipped":{"type":"integer","description":"Quantity shipped.","format":"int32"},"quantityReceived":{"type":"integer","description":"Quantity received.","format":"int32"},"quantityInCase":{"type":"integer","description":"Quantity in each case.","format":"int32"}}},"InboundShipmentItemList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InboundShipmentItem"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingStorePerformance":{"type":"object","properties":{"storeId":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"}}},"AdvertisingProductPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"sku":{"type":"string"},"asin":{"type":"string"},"parentAsin":{"type":"string"},"imageUrl":{"type":"string"},"title":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"}}},"AdvertisingProductPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingProductPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingSearchTermPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"searchTerm":{"type":"string"}}},"AdvertisingSearchTermPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingSearchTermPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingSearchTermProductPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"asin":{"type":"string"},"parentAsin":{"type":"string"},"imageUrl":{"type":"string"},"title":{"type":"string"}}},"AdvertisingSearchTermProductPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingSearchTermProductPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingPurchasedProductPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"asin":{"type":"string"},"parentAsin":{"type":"string"},"imageUrl":{"type":"string"},"title":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"}}},"AdvertisingPurchasedProductPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingPurchasedProductPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingProductDailyPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"sku":{"type":"string"},"asin":{"type":"string"},"parentAsin":{"type":"string"},"imageUrl":{"type":"string"},"title":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}}},"AdvertisingProductDailyPerformanceList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingProductDailyPerformance"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingStoreDailyPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}},"description":"Daily store-level advertising performance summaries."},"AdvertisingStoreDailyPerformanceList":{"type":"object","properties":{"summary":{"$ref":"#/components/schemas/AdvertisingStorePerformance"},"items":{"type":"array","description":"Daily store-level advertising performance summaries.","items":{"$ref":"#/components/schemas/AdvertisingStoreDailyPerformance"}}}},"AdvertisingCampaignDailyListResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/Pagination"},"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingCampaignDailyPerformance"}}}},"AdvertisingCampaignDailyPerformance":{"type":"object","properties":{"storeId":{"type":"string"},"campaignId":{"type":"integer","format":"int64"},"campaignName":{"type":"string"},"campaignType":{"type":"string"},"state":{"type":"string"},"targetingType":{"type":"string"},"servingStatus":{"type":"string"},"budget":{"$ref":"#/components/schemas/Money"},"adOrders":{"type":"integer","format":"int64"},"adSales":{"$ref":"#/components/schemas/Money"},"adSpend":{"$ref":"#/components/schemas/Money"},"impressions":{"type":"integer","format":"int64"},"clicks":{"type":"integer","format":"int64"},"conversionRate":{"type":"number"},"ctr":{"type":"number"},"acos":{"type":"number","description":"Advertising cost of sales as a decimal ratio. Null when advertising sales are zero.","nullable":true},"roas":{"type":"number","description":"Return on advertising spend. Null when advertising spend is zero.","nullable":true},"cpc":{"$ref":"#/components/schemas/Money"},"cpa":{"$ref":"#/components/schemas/Money"},"date":{"type":"string","description":"Business date in yyyy-MM-dd format."}}},"AdvertisingAdGroupReferenceResponse":{"type":"object","properties":{"adGroupId":{"type":"integer","format":"int64"},"name":{"type":"string"},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"}}},"AdvertisingCampaignReferenceResponse":{"type":"object","properties":{"campaignId":{"type":"integer","format":"int64"},"campaignType":{"type":"string","enum":["AMAZON_DSP","SPONSORED_BRANDS","SPONSORED_DISPLAY","SPONSORED_PRODUCTS","SPONSORED_TELEVISION"]},"name":{"type":"string"},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"}}},"AdvertisingTargetListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingTargetResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingTargetRefinementResponse":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}}},"AdvertisingTargetResponse":{"type":"object","properties":{"targetId":{"type":"integer","format":"int64"},"targetType":{"type":"string","enum":["AD_INITIATION","AD_PLAYER_SIZE","APP","AUDIENCE","BRAND_SAFETY_CATEGORY","BRAND_SAFETY_TIER","CONTENT_CATEGORY","CONTENT_GENRE","CONTENT_INSTREAM_POSITION","CONTENT_OUTSTREAM_POSITION","CONTENT_RATING","DAYPART","DEVICE","DOMAIN","FOLD_POSITION","INVENTORY_SOURCE","KEYWORD","LOCATION","NATIVE_CONTENT_POSITION","PLACEMENT_TYPE","PRODUCT","PRODUCT_AUDIENCE","PRODUCT_CATEGORY","THEME","THIRD_PARTY","VIDEO_AD_FORMAT","VIDEO_CONTENT_DURATION"]},"matchType":{"type":"string","enum":["BROAD","EXACT","INTERESTED_AUDIENCE","KEYWORDS_CLOSE_MATCH","KEYWORDS_LOOSE_MATCH","KEYWORDS_RELATED_TO_GIFTS","KEYWORDS_RELATED_TO_PEER_BRANDS_PRODUCT_CATEGORY","KEYWORDS_RELATED_TO_PRIME_DAY","KEYWORDS_RELATED_TO_YOUR_BRAND","KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES","KEYWORDS_RELATED_TO_YOUR_PRODUCT_CATEGORY","PHRASE","PRODUCTS_SIMILAR_TO_ADVERTISED_PRODUCTS","PRODUCT_COMPLEMENTS","PRODUCT_EXACT","PRODUCT_REMARKETING","PRODUCT_SIMILAR","PRODUCT_SUBSTITUTES"]},"targetValue":{"type":"string"},"refinements":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingTargetRefinementResponse"}},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"bid":{"type":"number"},"campaign":{"$ref":"#/components/schemas/AdvertisingCampaignReferenceResponse"},"adGroup":{"$ref":"#/components/schemas/AdvertisingAdGroupReferenceResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingPortfolioBudgetResponse":{"type":"object","properties":{"policy":{"type":"string","description":"Budget policy, such as NONE, DATE_RANGE, or MONTHLY_RECURRING."},"amount":{"$ref":"#/components/schemas/Money"},"startDate":{"type":"string","description":"Budget start date in yyyy-MM-dd format when applicable."},"endDate":{"type":"string","description":"Budget end date in yyyy-MM-dd format when applicable."}},"description":"Portfolio budget configuration synchronized from Amazon Ads."},"AdvertisingPortfolioListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingPortfolioResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingPortfolioResponse":{"type":"object","properties":{"portfolioId":{"type":"integer","format":"int64"},"name":{"type":"string"},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"inBudget":{"type":"boolean","description":"Whether the portfolio currently remains within its configured budget."},"budget":{"$ref":"#/components/schemas/AdvertisingPortfolioBudgetResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingNegativeTargetListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingNegativeTargetResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingNegativeTargetResponse":{"type":"object","properties":{"targetId":{"type":"integer","format":"int64"},"targetType":{"type":"string","enum":["AD_INITIATION","AD_PLAYER_SIZE","APP","AUDIENCE","BRAND_SAFETY_CATEGORY","BRAND_SAFETY_TIER","CONTENT_CATEGORY","CONTENT_GENRE","CONTENT_INSTREAM_POSITION","CONTENT_OUTSTREAM_POSITION","CONTENT_RATING","DAYPART","DEVICE","DOMAIN","FOLD_POSITION","INVENTORY_SOURCE","KEYWORD","LOCATION","NATIVE_CONTENT_POSITION","PLACEMENT_TYPE","PRODUCT","PRODUCT_AUDIENCE","PRODUCT_CATEGORY","THEME","THIRD_PARTY","VIDEO_AD_FORMAT","VIDEO_CONTENT_DURATION"]},"matchType":{"type":"string","enum":["BROAD","EXACT","INTERESTED_AUDIENCE","KEYWORDS_CLOSE_MATCH","KEYWORDS_LOOSE_MATCH","KEYWORDS_RELATED_TO_GIFTS","KEYWORDS_RELATED_TO_PEER_BRANDS_PRODUCT_CATEGORY","KEYWORDS_RELATED_TO_PRIME_DAY","KEYWORDS_RELATED_TO_YOUR_BRAND","KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES","KEYWORDS_RELATED_TO_YOUR_PRODUCT_CATEGORY","PHRASE","PRODUCTS_SIMILAR_TO_ADVERTISED_PRODUCTS","PRODUCT_COMPLEMENTS","PRODUCT_EXACT","PRODUCT_REMARKETING","PRODUCT_SIMILAR","PRODUCT_SUBSTITUTES"]},"targetValue":{"type":"string"},"refinements":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingTargetRefinementResponse"}},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"campaign":{"$ref":"#/components/schemas/AdvertisingCampaignReferenceResponse"},"adGroup":{"$ref":"#/components/schemas/AdvertisingAdGroupReferenceResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingNegativeKeywordListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingNegativeKeywordResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingNegativeKeywordResponse":{"type":"object","properties":{"keywordId":{"type":"integer","format":"int64"},"keywordText":{"type":"string"},"matchType":{"type":"string","enum":["BROAD","EXACT","PHRASE"]},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"campaign":{"$ref":"#/components/schemas/AdvertisingCampaignReferenceResponse"},"adGroup":{"$ref":"#/components/schemas/AdvertisingAdGroupReferenceResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingKeywordListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingKeywordResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingKeywordResponse":{"type":"object","properties":{"keywordId":{"type":"integer","format":"int64"},"keywordText":{"type":"string"},"matchType":{"type":"string","enum":["BROAD","EXACT","INTERESTED_AUDIENCE","KEYWORDS_CLOSE_MATCH","KEYWORDS_LOOSE_MATCH","KEYWORDS_RELATED_TO_GIFTS","KEYWORDS_RELATED_TO_PEER_BRANDS_PRODUCT_CATEGORY","KEYWORDS_RELATED_TO_PRIME_DAY","KEYWORDS_RELATED_TO_YOUR_BRAND","KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES","KEYWORDS_RELATED_TO_YOUR_PRODUCT_CATEGORY","PHRASE","PRODUCTS_SIMILAR_TO_ADVERTISED_PRODUCTS","PRODUCT_COMPLEMENTS","PRODUCT_EXACT","PRODUCT_REMARKETING","PRODUCT_SIMILAR","PRODUCT_SUBSTITUTES"]},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"bid":{"type":"number"},"campaign":{"$ref":"#/components/schemas/AdvertisingCampaignReferenceResponse"},"adGroup":{"$ref":"#/components/schemas/AdvertisingAdGroupReferenceResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingManagementCampaignListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingManagementCampaignResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingManagementCampaignResponse":{"type":"object","properties":{"campaignId":{"type":"integer","format":"int64"},"campaignType":{"type":"string","enum":["AMAZON_DSP","SPONSORED_BRANDS","SPONSORED_DISPLAY","SPONSORED_PRODUCTS","SPONSORED_TELEVISION"]},"targetingType":{"type":"string","description":"Amazon Ads campaign targeting mode. Sponsored Products AUTO campaigns cannot accept positive keyword or manual ASIN target creation; use MANUAL for those operations.","enum":["AUTO","MANUAL","AUTO","MANUAL"]},"campaignName":{"type":"string"},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"dailyBudget":{"type":"number"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingAdListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingAdResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingAdResponse":{"type":"object","properties":{"adId":{"type":"integer","format":"int64"},"name":{"type":"string"},"sku":{"type":"string"},"asin":{"type":"string"},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"campaign":{"$ref":"#/components/schemas/AdvertisingCampaignReferenceResponse"},"adGroup":{"$ref":"#/components/schemas/AdvertisingAdGroupReferenceResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}},"AdvertisingAdGroupListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdvertisingAdGroupResponse"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"AdvertisingAdGroupResponse":{"type":"object","properties":{"adGroupId":{"type":"integer","format":"int64"},"adGroupName":{"type":"string"},"state":{"type":"string","enum":["ARCHIVED","ENABLED","PAUSED"]},"servingStatus":{"type":"string"},"defaultBid":{"type":"number"},"campaign":{"$ref":"#/components/schemas/AdvertisingCampaignReferenceResponse"},"createdAt":{"type":"string","description":"Amazon Ads creation time as a UTC ISO-8601 instant when available."},"updatedAt":{"type":"string","description":"Amazon Ads last-update time as a UTC ISO-8601 instant when available."}}}},"securitySchemes":{"TsApiKey":{"type":"apiKey","name":"TS-API-KEY","in":"header"}}}}