
# Work with live Amazon operations

Beyond the warehouse, the platform passes through to Amazon itself: live retail lookups, report generation, pricing, and advertising operations, all using the authorization your accounts already have through MixShift. You skip the developer applications entirely, and the token plumbing (minting, refresh, regional routing) is handled server-side.

## Reading from Amazon

- `GET /api/amazon/merchants` lists the merchants your credential can act for.
- **Cataloged operations:** `GET /api/amazon/spapi/operations` and `GET /api/amazon/ads/operations` list every callable operation with its parameters; `POST /api/amazon/spapi/call` and `POST /api/amazon/ads/call` invoke one. The catalogs cover retail (catalog, inventory, orders, finances, fees, pricing, listings) and advertising (campaigns, ad groups, keywords, targets, budgets, recommendations).
- **Reports:** submit a report request, poll it, and download the document through `/api/amazon/reports`. Pricing has its own batch surface under `/api/amazon/pricing`.

## Advertising writes, with the safety on

Writes to your ad accounts are opt-in (the credential needs the write scope) and default to a dry run:

1. Call the write with default settings and you get a **preview**: validation, a snapshot of current state, and the exact change list. Nothing touches Amazon.
2. Send the explicit commit flag to apply. Changes are capped per call, and every commit is audit-logged with the pre-write snapshot.

This is the same preview-then-confirm model the [plugin](/knowledge-base/plugin) uses; your own tools get it too.

## Listing content writes

Product listing edits (title, highlights, bullets, description, search keywords, ingredients, item form, images) run as a strict two-call contract:

1. **Preview** validates the change against Amazon for up to ten SKUs and returns a change-set id and hash. Nothing is applied.
2. **Commit** takes that id and hash and replays exactly what was previewed. If anything drifted in between, the affected SKU fails closed instead of applying a stale change.

Identifiers, brand fields, compliance and safety attributes, variations, price, quantity, fulfillment, and deletes are refused by design. Images apply asynchronously on the Amazon side (Amazon re-hosts them), so verify by checking that the image slot changed and the listing has no new issues, not by comparing URLs.

## Related

- [Get access](/knowledge-base/builder-platform/getting-started/get-access) (scopes are granted at mint time)
- [Limits and guardrails](/knowledge-base/builder-platform/reference/limits-and-guardrails)
- Operation-level reference: [mcp.mixshift.io/developers](https://mcp.mixshift.io/developers)