APIs
# APIs
Use this page to choose the right Enad API family, then move to the generated reference or playground for endpoint-level work. Start with Search for new storefront read and discovery work, and use the REST families when their contract or workflow boundary is the better fit. The guide pages explain how each family is meant to be used. The generated OpenAPI/reference pages own exact paths, parameters, request bodies, and response schemas.
## Start here
Use these shortcuts when you already know the kind of job in front of you:
- **New storefront discovery work** → start with [Search API](/search/latest), then move to the [Search GraphQL reference](/reference/search-graphql/latest) when exact query shape matters.
- **Existing deprecated REST catalog reads or mixed product contract lookup** → start with [Shopper API](/apis/shopper/latest), then use [Products reference](/reference/products) or the [Shopper OpenAPI reference](/reference/openapi/shopper-api) for exact compatibility contract truth.
- **Back-office writes, product administration, or order operations** → start with [Management API](/apis/management/latest), then move to [Products reference](/reference/products), [Orders reference](/reference/orders), or the [Management OpenAPI reference](/reference/openapi/management-api).
- **Login, registration, token refresh, or authenticated shopper state** → start with [Auth API](/apis/auth/latest), then move to the [Auth reference](/reference/auth).
- **Asset folders, media organization, or DAM workflows** → start with [DAM API](/media/dam/latest), then move to the [DAM reference](/reference/dam).
## Pick the API family
| If you are building... | Use | Why | Next step |
| --- | --- | --- | --- |
| Product search, listing, facets, autocomplete, search-backed discovery, MCP `search.*` reads | [Search API](/search/latest) | Preferred GraphQL entry for new storefront read and discovery flows, including MCP reads that replace deprecated Shopper REST reads | Start with the guide, then open the [Search GraphQL reference](/reference/search-graphql/latest) |
| Deprecated public REST catalog reads where you specifically need the existing REST contract | [Shopper API](/apis/shopper/latest) | Compatibility surface for existing shopper-facing REST catalog reads | Read the compatibility guide, then open the [Shopper OpenAPI reference](/reference/openapi/shopper-api) or [playground](/apis/shopper/playground) |
| Back-office automation, ERP/PIM sync, product administration, order operations, organizational setup | [Management API](/apis/management/latest) | Private administrative surface for merchant and operator workflows | Read the guide, then open the [Management OpenAPI reference](/reference/openapi/management-api) or [playground](/apis/management/playground) |
| Customer accounts, login, token refresh, account-scoped carts, orders, wishlists | [Auth API](/apis/auth/latest) | Identity and authenticated shopper-state surface | Read the guide, then open the [Auth reference](/reference/auth) or [playground](/apis/auth/playground) |
| Asset folders, media items, image/video organization, shareable links | [DAM API](/media/dam/latest) | Digital asset management surface | Read the [DAM guide](/media/dam/latest), then open the [DAM reference](/reference/dam) or [playground](/media/dam/playground) |
## Public routes
| Family | Guide | Playground | Generated reference | Raw spec |
| --- | --- | --- | --- | --- |
| Search | [Latest guide](/search/latest) | Embedded on the guide page | [Search GraphQL reference](/reference/search-graphql/latest) | Source-pending in docs-v3; use generated `enad-packages` Search artifacts for exact schema truth |
| Management | [Latest guide](/apis/management/latest) | [Management playground](/apis/management/playground) | [OpenAPI reference](/reference/openapi/management-api) |
management-api.json |
| Shopper | [Latest guide](/apis/shopper/latest) | [Shopper playground](/apis/shopper/playground) | [OpenAPI reference](/reference/openapi/shopper-api) |
shopper-api.json |
| Auth | [Latest guide](/apis/auth/latest) | [Auth playground](/apis/auth/playground) | [Auth endpoint reference](/reference/auth) and [OpenAPI import](/reference/openapi/auth-api) |
auth-api.json |
| DAM | [Latest guide](/media/dam/latest) | [DAM playground](/media/dam/playground) | [DAM endpoint reference](/reference/dam) and [OpenAPI import](/reference/openapi/dam-api) |
dam-api.json |
## Fast contract surfaces
Use these routes when the family is already clear and the next question is exact truth rather than family selection:
- [Reference overview](/reference) for the fastest route into generated REST reference hubs, imported OpenAPI specs, and Search GraphQL reference guidance.
- [Products reference](/reference/products) when product work crosses shopper and management boundaries and you need the generated endpoint page to tell you which family owns the operation.
- [Orders reference](/reference/orders) when order work crosses management and auth boundaries and you need exact generated endpoint details.
- [Auth reference](/reference/auth) for login, registration, verification, refresh, and authenticated shopper-state lookup.
- Imported OpenAPI specs under [/reference/openapi](/reference/openapi) when you need schema-level details or the raw machine-readable contract.
## Recommended workflow
1. **Choose the family** from the decision table above.
2. **Read the latest guide** for audience, authentication model, scoping model, and safe integration boundaries.
3. **Open the generated reference** for the operation you need before writing code.
4. **Use the playground** to inspect required parameters and try requests against the current spec.
5. **Pin your integration to the route or contract version you have validated** when archived version routes become available.
Do not copy endpoint details from prose if you need contract accuracy. Use the generated reference, raw OpenAPI spec, or playground because they are generated from the source artifact.
## MCP mutation boundary
For MCP and agent workflows, `api.enad.io` and the Nabbit-backed Management/public APIs remain the source of truth for catalog, commerce, media, and identity mutations. MCP should not become a raw endpoint proxy. Mutation tools should expose bounded capabilities that can be validated, previewed, approved when required, applied, and audited.
Use this lifecycle for mutation guidance:
1. Resolve context and targets explicitly.
2. Validate or construct the requested change intent.
3. Preview the impact with `changes.preview`.
4. Apply only through `changes.apply` after policy and approval requirements are satisfied.
5. Verify with operation status or reads, then preserve the audit trail with `audit.get`.
## When to leave this page
This page is a route chooser. Leave it as soon as the owning surface is clear.
- Use [/reference](/reference) when you already know the next step is generated reference lookup.
- Use [/react-sdk/latest](/react-sdk/latest) when the next question is storefront UI composition, provider setup, theming, or runtime integration rather than API-family choice.
- Use [/media](/media) when the next decision is broader media routing rather than exact DAM contracts.
- Use [/events/latest](/events/latest) when the next concern is downstream webhook delivery or reconciliation after an API-side state change.
## Versioning
API versions are tracked per family. `latest` for Management, Shopper, Auth, and DAM can move independently because each family has its own contract and release cadence.
- Start new work from the relevant `latest` guide.
- Maintain existing integrations against the version route they were built for once pinned routes are available.
- Check the version-track metadata on guide and reference pages before treating examples as current.
- Follow the overall policy in [Versioning](/start/versioning).
## Source of truth boundary
Tome guide pages explain usage, routing, and integration judgment. Generated artifacts own endpoint truth.
| Question | Source to trust |
| --- | --- |
| Which API family should I use? | This API overview and the family guides |
| What authentication model or scope does the family use? | Family guide, then generated reference for per-operation requirements |
| What is the exact method, path, query parameter, request body, or response schema? | Generated reference and raw OpenAPI spec |
| Can I try the operation interactively? | Family playground |
| Is a docs prose example safe to paste into production? | No. Treat prose as guidance-only unless the generated reference confirms it |
Current public AI corpus routes are listed from
/llms.txt, but generated references and specs remain the endpoint source of truth.