> ## 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.

# Request an API Key

> You must have an API key before you can call any enrichment endpoint.

The Enrichment API is **closed by default**. Every endpoint requires a valid API key bound to a
merchant organization — there is no anonymous or trial access. Requesting a key is always your first
step.

<Warning>
  Do not start building against the API before you have a key and scopes. Without a valid
  `X-Api-Client-Key` header, every authenticated endpoint responds with `401 Unauthorized`.
</Warning>

## How to request one

<Steps>
  <Step title="Contact the Verzla integrations team">
    Email [integrations@verzla.com](mailto:integrations@verzla.com?subject=Enrichment%20API%20key%20request)
    (or your existing Verzla contact) and tell us:

    * The **merchant organization** you'll be enriching for.
    * A short **label** for the integration (e.g. `acme-ai-enrichment`) — this appears in the
      merchant's API client list.
    * Which **scopes** you need: read-only (`catalog:read`), submit (`catalog:submit`), or both.
  </Step>

  <Step title="We issue your credentials">
    Verzla creates an **API client** for the organization and returns a single **raw API key**. The
    key is shown to you exactly once — we only store a SHA-256 hash of it and can never recover the
    original.
  </Step>

  <Step title="Store the key securely">
    Treat the key like a password. Put it in a secret manager or environment variable — never commit
    it to source control or expose it to a browser.
  </Step>
</Steps>

## Scopes

Your key is granted a comma-separated set of scopes. Each endpoint checks for a specific scope and
returns `403 Forbidden` if your key lacks it.

| Scope            | Grants access to                                                                       |
| ---------------- | -------------------------------------------------------------------------------------- |
| `catalog:read`   | Read attribute templates and products (export + SKU lookup), read your acceptance rate |
| `catalog:submit` | Submit enrichment proposals                                                            |

A typical full integration is issued **both** scopes. If you only need to analyze the catalog
without writing back, `catalog:read` alone is enough.

## What you receive

When the key is issued, your integration is tied to:

* **One organization** — the merchant whose catalog you may read and enrich. The organization is
  resolved automatically from your key; you never pass an org ID.
* **Your scopes** — the exact operations your key is allowed to perform.
* **A label** and activity tracking — the merchant can see your client, its `lastUsedAt` timestamp,
  and deactivate it at any time.

<Info>
  Lost a key or suspect it leaked? Contact us to rotate it. The old key is deactivated immediately
  and a new raw key is issued.
</Info>

Once you have your key, head to [Making authenticated requests](/authentication/making-requests).
