AmazonAdsAPIALLMerged_prod_3p.json is not "all". It contains only the unified
/adsApi/v1/{create,query,update,delete}/* surface: 45 paths. Amazon publishes
at least ten more live v3 specs in the same CloudFront directory that we do not
generate.
| Spec |
Version |
Paths |
Generated |
| SponsoredProducts |
3.0 |
64 |
no |
| SponsoredBrands |
3.0 |
50 |
no |
| SponsoredTV |
3.0 |
21 |
no |
| SponsoredDisplay |
3.0 |
17 |
no |
| AmazonMarketingCloud |
3.0 |
11 |
no |
| Audiences |
3.0 |
4 |
no |
| Portfolios |
3.0 |
3 |
no |
| BrandMetrics |
3.0 |
2 |
no |
| Insights |
3.0 |
1 |
no |
| Moderation |
3.0 |
1 |
no |
| Locations |
3.0 |
1 |
no |
| AmazonAdsAPIALLMerged |
3.0 |
45 |
yes |
All resolve at https://d1y2lf8k3vrkfu.cloudfront.net/openapi/en-us/dest/<Name>_prod_3p.json.
We currently cover roughly 45 of ~220 live paths. The 175 we skip include much
of what callers reach for today: Sponsored Products keywords, negative keywords,
product ads, budget rules, and bid recommendations.
Portfolios is a concrete example. It is absent from the merged spec entirely
(grep -ic portfolio returns 1, and that hit is an unrelated error code), yet
Portfolios_prod_3p.json is live at v3.0:
POST,PUT /portfolios
POST /portfolios/budget/usage
POST /portfolios/list
Meanwhile query_campaign already accepts portfolio_id_filter, so you can
filter by a portfolio you have no way to create or list.
Open question, blocking
Is /adsApi/v1 intended to fully supersede the per-product v3 APIs?
- If yes, generating SP/SB/SD/STV v3 is migration-period work with a known shelf
life, and the right move may be to cover only the specs with no v1 equivalent
(Portfolios, AMC, Audiences, BrandMetrics, Insights, Moderation, Locations).
- If no, the gem's coverage story is misleading as it stands.
Worth resolving before writing any generator code.
Notes
Generator::Specs::SPECS currently lists four URLs. Adding specs is cheap; the
question above is what decides which.
- No spec other than the merged one and
profiles.yaml declares servers, so
the endpoint logic needs no change.
AmazonAdsAPIALLMerged_prod_3p.jsonis not "all". It contains only the unified/adsApi/v1/{create,query,update,delete}/*surface: 45 paths. Amazon publishesat least ten more live v3 specs in the same CloudFront directory that we do not
generate.
All resolve at
https://d1y2lf8k3vrkfu.cloudfront.net/openapi/en-us/dest/<Name>_prod_3p.json.We currently cover roughly 45 of ~220 live paths. The 175 we skip include much
of what callers reach for today: Sponsored Products keywords, negative keywords,
product ads, budget rules, and bid recommendations.
Portfolios is a concrete example. It is absent from the merged spec entirely
(
grep -ic portfolioreturns 1, and that hit is an unrelated error code), yetPortfolios_prod_3p.jsonis live at v3.0:Meanwhile
query_campaignalready acceptsportfolio_id_filter, so you canfilter by a portfolio you have no way to create or list.
Open question, blocking
Is
/adsApi/v1intended to fully supersede the per-product v3 APIs?life, and the right move may be to cover only the specs with no v1 equivalent
(Portfolios, AMC, Audiences, BrandMetrics, Insights, Moderation, Locations).
Worth resolving before writing any generator code.
Notes
Generator::Specs::SPECScurrently lists four URLs. Adding specs is cheap; thequestion above is what decides which.
profiles.yamldeclaresservers, sothe endpoint logic needs no change.