Authorize Amazon Ads accounts, manage SP, SB, and SD entities, and retrieve advertising reports.
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.amazon-advertising-api
Authorize Amazon Ads accounts, manage SP, SB, and SD entities, and retrieve advertising reports.
The package preserves 67 Amazon-platform operations (23 read or connection operations and 44 mutations). It uses only NEXSCOPE_PROXY_BASE and NEXSCOPE_API_KEY. Provider credentials, refresh, request signing, authorization state, upload locations, and document locations remain on the backend.
/list requests, place filters in the request body. campaignIdFilter and stateFilter use an object with a non-empty include array of strings, not a bare array or queryString.The concise index below is generated from the same contract consumed by the runtime. See references/api.md for full request, validation, pagination, result, status, and example details, and references/api.json for the machine-readable contract.
ads_auth.authorize_url - Authorize UrlPOST /api/skill/amazon/connections/amazon-ads/authorize; access: write; execution: specialized.region, marketplaceId.- Optional: workspaceId, accountName, returnPath.- Query: None; body: workspaceId, region, marketplaceId, accountName, returnPath.none.ads_auth.authorized_stores - Authorized StoresGET /api/skill/amazon/connections/amazon-ads; access: read; execution: specialized.workspaceId.- Query: workspaceId; body: None.none.ads_auth.profiles - ProfilesGET /api/skill/amazon/connections/amazon-ads/profiles; access: read; execution: specialized.connectionId.- Optional: workspaceId.- Query: workspaceId, connectionId; body: None.none.ads_auth.refresh_token - Refresh TokenNONE backend-owned token refresh; access: write; execution: removed.none. The backend owns token storage and refresh; use authorization status and connection metadata.ads_auth.store_tokens - Store TokensNONE backend-owned OAuth callback token storage; access: write; execution: removed.none. The backend owns token storage and refresh; use authorization status and connection metadata.ads_manager.sb.create_ad_groups - Create Ad GroupsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sb/v4/adGroups; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.create_ads - Create AdsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sb/v4/ads/{adType}; access: write; execution: generic.connectionId, adType, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.create_budget_rules - Create Budget RulesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sb/budgetRules; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.create_campaigns - Create CampaignsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sb/v4/campaigns; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.list_ad_groups - List Ad GroupsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sb/v4/adGroups/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, maxResults, nameFilter, nextToken, stateFilter.none.ads_manager.sb.list_ads - List AdsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sb/v4/ads/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, adIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, adIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter.none.ads_manager.sb.list_budget_rules - List Budget RulesPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sb/budgetRules; access: read; execution: generic.connectionId.- Optional: workspaceId, fetchAll, maxPages, nextToken, queryString, requestId.- Query: nextToken; body: None.none.ads_manager.sb.list_campaigns - List CampaignsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sb/v4/campaigns/list; access: read; execution: generic.connectionId.- Optional: workspaceId, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, portfolioIdFilter, queryString, requestId, stateFilter.- Query: None; body: campaignIdFilter, maxResults, nameFilter, nextToken, portfolioIdFilter, stateFilter.none.ads_manager.sb.update_ad_groups - Update Ad GroupsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sb/v4/adGroups; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.update_ads - Update AdsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sb/v4/ads; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.update_budget_rules - Update Budget RulesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sb/budgetRules; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sb.update_campaigns - Update CampaignsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sb/v4/campaigns; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_ad_groups - Create Ad GroupsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/adGroups; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_budget_rules - Create Budget RulesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/budgetRules; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_campaigns - Create CampaignsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/campaigns; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_creatives - Create CreativesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/creatives; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_negative_targets - Create Negative TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/negativeTargets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_product_ads - Create Product AdsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/productAds; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.create_targets - Create TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sd/targets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.list_ad_groups - List Ad GroupsPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/adGroups; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, queryString, requestId, stateFilter.- Query: adGroupIdFilter, campaignIdFilter, maxResults, nameFilter, nextToken, stateFilter; body: None.none.ads_manager.sd.list_budget_rules - List Budget RulesPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/budgetRules; access: read; execution: generic.connectionId.- Optional: workspaceId, fetchAll, maxPages, nextToken, queryString, requestId.- Query: nextToken; body: None.none.ads_manager.sd.list_campaigns - List CampaignsPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/campaigns; access: read; execution: generic.connectionId.- Optional: workspaceId, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, portfolioIdFilter, queryString, requestId, stateFilter.- Query: campaignIdFilter, maxResults, nameFilter, nextToken, portfolioIdFilter, stateFilter; body: None.none.ads_manager.sd.list_creatives - List CreativesPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/creatives; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, creativeIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId.- Query: adGroupIdFilter, creativeIdFilter, maxResults, nextToken; body: None.none.ads_manager.sd.list_negative_targets - List Negative TargetsPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/negativeTargets; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter.- Query: adGroupIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter; body: None.none.ads_manager.sd.list_product_ads - List Product AdsPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/productAds; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, adIdFilter, asinFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, skuFilter, stateFilter.- Query: adGroupIdFilter, adIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter; body: None.none.ads_manager.sd.list_targets - List TargetsPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/targets; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter, targetIdFilter.- Query: adGroupIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter, targetIdFilter; body: None.none.ads_manager.sd.update_ad_groups - Update Ad GroupsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/adGroups; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.update_budget_rules - Update Budget RulesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/budgetRules; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.update_campaigns - Update CampaignsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/campaigns; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.update_creatives - Update CreativesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/creatives; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.update_negative_targets - Update Negative TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/negativeTargets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.update_product_ads - Update Product AdsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/productAds; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sd.update_targets - Update TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sd/targets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_ad_groups - Create Ad GroupsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/adGroups; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_budget_rules - Create Budget RulesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/budgetRules; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_budget_rules_association - Create Budget Rules AssociationPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/budgetRulesAssociation; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_campaign_negative_keywords - Create Campaign Negative KeywordsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/campaignNegativeKeywords; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_campaign_negative_targets - Create Campaign Negative TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/campaignNegativeTargets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_campaigns - Create CampaignsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/campaigns; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_keywords - Create KeywordsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/keywords; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_negative_keywords - Create Negative KeywordsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/negativeKeywords; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_negative_targets - Create Negative TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/negativeTargets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_product_ads - Create Product AdsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/productAds; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.create_targets - Create TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): POST /sp/targets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.list_ad_groups - List Ad GroupsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/adGroups/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, campaignTargetingTypeFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, campaignTargetingTypeFilter, maxResults, nameFilter, nextToken, stateFilter.none.ads_manager.sp.list_budget_rules - List Budget RulesPOST /api/skill/amazon/ads/read; provider request (request-body path): GET /sp/budgetRules; access: read; execution: generic.connectionId.- Optional: workspaceId, fetchAll, maxPages, nextToken, queryString, requestId.- Query: nextToken; body: None.none.ads_manager.sp.list_campaigns - List CampaignsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/campaigns/list; access: read; execution: generic.connectionId.- Optional: workspaceId, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, portfolioIdFilter, queryString, requestId, stateFilter.- Query: None; body: campaignIdFilter, maxResults, nameFilter, nextToken, portfolioIdFilter, stateFilter.none.ads_manager.sp.list_keywords - List KeywordsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/keywords/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, keywordIdFilter, keywordTextFilter, matchTypeFilter, maxPages, maxResults, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, keywordIdFilter, keywordTextFilter, matchTypeFilter, maxResults, nextToken, stateFilter.none.ads_manager.sp.list_negative_keywords - List Negative KeywordsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/negativeKeywords/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, keywordTextFilter, matchTypeFilter, maxPages, maxResults, negativeKeywordIdFilter, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, keywordTextFilter, matchTypeFilter, maxResults, negativeKeywordIdFilter, nextToken, stateFilter.none.ads_manager.sp.list_product_ads - List Product AdsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/productAds/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, adIdFilter, asinFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, skuFilter, stateFilter.- Query: None; body: adGroupIdFilter, adIdFilter, asinFilter, campaignIdFilter, maxResults, nextToken, skuFilter, stateFilter.none.ads_manager.sp.list_targets - List TargetsPOST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/targets/list; access: read; execution: generic.connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, expressionTypeFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter, targetIdFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, expressionTypeFilter, maxResults, nextToken, stateFilter, targetIdFilter.none.ads_manager.sp.update_ad_groups - Update Ad GroupsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/adGroups; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_budget_rules - Update Budget RulesPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/budgetRules; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_campaign_negative_keywords - Update Campaign Negative KeywordsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/campaignNegativeKeywords; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_campaign_negative_targets - Update Campaign Negative TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/campaignNegativeTargets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_campaigns - Update CampaignsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/campaigns; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_keywords - Update KeywordsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/keywords; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_negative_keywords - Update Negative KeywordsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/negativeKeywords; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_negative_targets - Update Negative TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/negativeTargets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_product_ads - Update Product AdsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/productAds; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_manager.sp.update_targets - Update TargetsPOST /api/skill/amazon/ads/write-preview -> POST /api/skill/amazon/ads/write-confirm; provider request (request-body path): PUT /sp/targets; access: write; execution: generic.connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.none.ads_report.get_report - Get ReportPOST /reporting/reports; access: write; execution: specialized.connectionId.- Optional: workspaceId, reportId, reportTypeId, adProduct, groupBy, columns, name, startDate, endDate, timeUnit, format, filters, configuration, timeoutSeconds, pollIntervalSeconds, outputFile, overwrite.- Query: None; body: name, startDate, endDate, configuration.none.Ask for an owned connectionId, the intended account, marketplace, and region. workspaceId is optional: omit it when the API key is already bound to the workspace. Select an exact callable operation from references/api.json; do not invent paths or use a removed compatibility row. Run the relevant script from: scripts/amazon_api.py, scripts/amazon_connection.py, scripts/amazon_ads_report_workflow.py.
Reads may follow a continuation token only when fetchAll is true and always stop at maxPages. Paginated reads expose stable execution metadata: success, pagesFetched, truncated, and total when the list field is known. Client-side ASIN/SKU filters additionally report serverTotalBeforeClientFilter and clientSideFilters.
Ads entity mutations require preview, exact user approval, and a separate one-use confirmation. In the aggregate package, authorization remains a dedicated connection-lifecycle action rather than an entity mutation.
Ads requests use an owned Ads connection and the allowlisted Sponsored Products, Sponsored Brands, Sponsored Display, or reporting families. Report downloads use opaque backend tokens and optional safe outputFile publication.
NEXSCOPE_PROXY_BASE to the approved gateway base and NEXSCOPE_API_KEY to the caller credential.workspaceId override) and an owned connectionId to select the account. Do not ask for Ads access tokens, refresh tokens, OAuth client credentials, or signing secrets.For the public Skill API, use {"connectionId":7,"operationId":"ads_manager.sp.list_campaigns","payload":{"campaignIdFilter":{"include":["123456789"]},"maxResults":10}}. To filter by state, use "stateFilter":{"include":["ENABLED"]} in payload. The script accepts the same filter objects as top-level operation inputs or within payload.
python scripts/amazon_connection.py '{"action":"connections","workspaceId":"user:42"}'
python scripts/amazon_connection.py '{"action":"authorize","workspaceId":"user:42","region":"NA","marketplaceId":"ATVPDKIKX0DER","accountName":"Example account"}'
Examples use placeholders. An Ads entity write preview is not approval; confirmation must be a separate command after the user accepts the exact preview.
pagesFetched, total when known, truncated, and the continuation token only when another bounded call is required.outputFile, byte count, content type, and decode/compression metadata when returned; never expose a provider download location.Retry-After; do not hardcode a universal requests-per-second value.references/api.md; this package intentionally contains no direct external host URL.| Classification | Guidance |
|---|---|
| Applicable | Ads authorization, entity management, or advertising reports |
| Not applicable | Seller catalog, orders, listings, or pricing |
When the request crosses package boundaries, use the aggregate package only if its catalog contains the exact operation; otherwise choose the narrower package.
Do not request, print, cache, or store provider credentials. Treat advertising account, campaign, targeting, metric, and report data as private. Scripts exit nonzero for HTTP, application, upstream, invalid JSON, and malformed response failures. See references/testing.md for executable prompts, expected routes, error cases, and evidence.
Set the NEXSCOPE_API_KEY environment variable. If credentials are missing or expire, visit https://www.nexscope.ai/help/skills-external-access?co-from=skillNS to top up credits.
Take nexscope-ai/ecommerce.amazon-advertising-api from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.