> ## Documentation Index
> Fetch the complete documentation index at: https://enrichment-docs.verzla.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference

> The complete Enrichment REST surface.

All endpoints are served under the `/api/enrichment` prefix of your environment's base URL and are
authenticated with the `X-Api-Client-Key` header. See
[Making authenticated requests](/authentication/making-requests) for the auth model.

```
https://api.verzla.com/api/enrichment
```

## Endpoints

| Method | Path                    | Scope            | Purpose                                                                         |
| ------ | ----------------------- | ---------------- | ------------------------------------------------------------------------------- |
| `GET`  | `/attribute-templates`  | `catalog:read`   | [Fetch the merchant's attribute schema](/api-reference/get-attribute-templates) |
| `GET`  | `/products`             | `catalog:read`   | [Paginated product export](/api-reference/get-products)                         |
| `GET`  | `/products/skus`        | `catalog:read`   | [Look up products by SKU](/api-reference/get-products-by-sku)                   |
| `POST` | `/products/submissions` | `catalog:submit` | [Submit enrichment proposals](/api-reference/submit-proposals)                  |
| `GET`  | `/acceptance-rate`      | `catalog:read`   | [Your acceptance metrics](/api-reference/get-acceptance-rate)                   |

## Conventions

* **Content type** — request and response bodies are JSON (`application/json`).
* **Organization scoping** — the merchant organization is resolved from your API key; you never pass
  an org identifier.
* **Errors** — failures use standard HTTP status codes with a message body: `400` (bad request),
  `401` (unauthenticated), `403` (missing scope).
* **Pagination** — offset-based via `page` / `pageSize`, with `totalElements` and `totalPages` in the
  response.
