Amazon Ads

SkillCommerce & finance

Authorize Amazon Ads accounts, manage SP, SB, and SD entities, and retrieve advertising reports.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Amazon Ads skill

What this skill tells your AI

The instructions your AI receives, as published by nexscope-ai/nexscope-ecommerce-skills in ecommerce-amazon-advertising-api/SKILL.md and read by ahel’s review.

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.

Core Concepts

  • Use one backend-owned Ads connection for authorization, SP/SB/SD entity management, and v3 reporting.
  • The aggregate catalog routes connection and report operations to dedicated scripts and ordinary entity operations to the generic client.
  • Amazon Ads uses the separate Advertising API and authorization service, not the Seller SP-API; SP here means Sponsored Products.

Operation Catalog

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 Url

  • Request: POST /api/skill/amazon/connections/amazon-ads/authorize; access: write; execution: specialized.
  • Required: region, marketplaceId.- Optional: workspaceId, accountName, returnPath.- Query: None; body: workspaceId, region, marketplaceId, accountName, returnPath.
  • Constraints: none.

ads_auth.authorized_stores - Authorized Stores

  • Request: GET /api/skill/amazon/connections/amazon-ads; access: read; execution: specialized.
  • Required: None.- Optional: workspaceId.- Query: workspaceId; body: None.
  • Constraints: none.

ads_auth.profiles - Profiles

  • Request: GET /api/skill/amazon/connections/amazon-ads/profiles; access: read; execution: specialized.
  • Required: connectionId.- Optional: workspaceId.- Query: workspaceId, connectionId; body: None.
  • Constraints: none.

ads_auth.refresh_token - Refresh Token

  • Request: NONE backend-owned token refresh; access: write; execution: removed.
  • Required: None.
  • Optional: None.
  • Query: None; body: None.
  • Constraints: none. The backend owns token storage and refresh; use authorization status and connection metadata.

ads_auth.store_tokens - Store Tokens

  • Request: NONE backend-owned OAuth callback token storage; access: write; execution: removed.
  • Required: None.
  • Optional: None.
  • Query: None; body: None.
  • Constraints: none. The backend owns token storage and refresh; use authorization status and connection metadata.

ads_manager.sb.create_ad_groups - Create Ad Groups

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.create_ads - Create Ads

  • Gateway request: POST /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.
  • Required: connectionId, adType, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.create_budget_rules - Create Budget Rules

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.create_campaigns - Create Campaigns

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.list_ad_groups - List Ad Groups

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): POST /sb/v4/adGroups/list; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, maxResults, nameFilter, nextToken, stateFilter.
  • Constraints: none.

ads_manager.sb.list_ads - List Ads

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): POST /sb/v4/ads/list; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, adIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, adIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter.
  • Constraints: none.

ads_manager.sb.list_budget_rules - List Budget Rules

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sb/budgetRules; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, fetchAll, maxPages, nextToken, queryString, requestId.- Query: nextToken; body: None.
  • Constraints: none.

ads_manager.sb.list_campaigns - List Campaigns

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): POST /sb/v4/campaigns/list; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, portfolioIdFilter, queryString, requestId, stateFilter.- Query: None; body: campaignIdFilter, maxResults, nameFilter, nextToken, portfolioIdFilter, stateFilter.
  • Constraints: none.

ads_manager.sb.update_ad_groups - Update Ad Groups

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.update_ads - Update Ads

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.update_budget_rules - Update Budget Rules

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sb.update_campaigns - Update Campaigns

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_ad_groups - Create Ad Groups

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_budget_rules - Create Budget Rules

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_campaigns - Create Campaigns

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_creatives - Create Creatives

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_negative_targets - Create Negative Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_product_ads - Create Product Ads

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.create_targets - Create Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.list_ad_groups - List Ad Groups

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/adGroups; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, queryString, requestId, stateFilter.- Query: adGroupIdFilter, campaignIdFilter, maxResults, nameFilter, nextToken, stateFilter; body: None.
  • Constraints: none.

ads_manager.sd.list_budget_rules - List Budget Rules

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/budgetRules; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, fetchAll, maxPages, nextToken, queryString, requestId.- Query: nextToken; body: None.
  • Constraints: none.

ads_manager.sd.list_campaigns - List Campaigns

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/campaigns; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, portfolioIdFilter, queryString, requestId, stateFilter.- Query: campaignIdFilter, maxResults, nameFilter, nextToken, portfolioIdFilter, stateFilter; body: None.
  • Constraints: none.

ads_manager.sd.list_creatives - List Creatives

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/creatives; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, creativeIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId.- Query: adGroupIdFilter, creativeIdFilter, maxResults, nextToken; body: None.
  • Constraints: none.

ads_manager.sd.list_negative_targets - List Negative Targets

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/negativeTargets; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter.- Query: adGroupIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter; body: None.
  • Constraints: none.

ads_manager.sd.list_product_ads - List Product Ads

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/productAds; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, adIdFilter, asinFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, skuFilter, stateFilter.- Query: adGroupIdFilter, adIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter; body: None.
  • Constraints: none.

ads_manager.sd.list_targets - List Targets

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sd/targets; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, fetchAll, maxPages, maxResults, nextToken, queryString, requestId, stateFilter, targetIdFilter.- Query: adGroupIdFilter, campaignIdFilter, maxResults, nextToken, stateFilter, targetIdFilter; body: None.
  • Constraints: none.

ads_manager.sd.update_ad_groups - Update Ad Groups

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.update_budget_rules - Update Budget Rules

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.update_campaigns - Update Campaigns

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.update_creatives - Update Creatives

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.update_negative_targets - Update Negative Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.update_product_ads - Update Product Ads

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sd.update_targets - Update Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_ad_groups - Create Ad Groups

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_budget_rules - Create Budget Rules

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_budget_rules_association - Create Budget Rules Association

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_campaign_negative_keywords - Create Campaign Negative Keywords

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_campaign_negative_targets - Create Campaign Negative Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_campaigns - Create Campaigns

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_keywords - Create Keywords

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_negative_keywords - Create Negative Keywords

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_negative_targets - Create Negative Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_product_ads - Create Product Ads

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.create_targets - Create Targets

  • Gateway request: POST /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.
  • Required: connectionId, payload.- Optional: workspaceId, queryString, requestId.- Query: None; body: payload.
  • Constraints: none.

ads_manager.sp.list_ad_groups - List Ad Groups

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/adGroups/list; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, adGroupIdFilter, campaignIdFilter, campaignTargetingTypeFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, queryString, requestId, stateFilter.- Query: None; body: adGroupIdFilter, campaignIdFilter, campaignTargetingTypeFilter, maxResults, nameFilter, nextToken, stateFilter.
  • Constraints: none.

ads_manager.sp.list_budget_rules - List Budget Rules

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): GET /sp/budgetRules; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, fetchAll, maxPages, nextToken, queryString, requestId.- Query: nextToken; body: None.
  • Constraints: none.

ads_manager.sp.list_campaigns - List Campaigns

  • Gateway request: POST /api/skill/amazon/ads/read; provider request (request-body path): POST /sp/campaigns/list; access: read; execution: generic.
  • Required: connectionId.- Optional: workspaceId, campaignIdFilter, fetchAll, maxPages, maxResults, nameFilter, nextToken, portfolioIdFilter, queryString, requestId, stateFilter.- Query: None; body: campaignIdFilter, maxResults, nameFilter, nextToken, portfolioIdFilter, stateFilter.
  • Constraints: none.

ads_manager.sp.list_keywords - List Keywords

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
67
Forks
9
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ecommerce-amazon-advertising-api
Source
github.com/nexscope-ai/nexscope-ecommerce-skills