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

# API keys

> Publishable, secret, and webhook ingest keys from Conexiones

Clausum uses **three key types**. Prefixes (`clm_pub_`, `clm_sk_`, `clm_wh_`) identify the key class — create them in **Dashboard → Conexiones**.

## At a glance

<CardGroup cols={3}>
  <Card title="Publishable (browser)" icon="globe">
    **Prefix:** `clm_pub_`\
    **Use for:** Browser SDK and client-side assess.\
    **Never for:** Report fraud, payout, or merchant API.
  </Card>

  <Card title="Secret (server)" icon="server">
    **Prefix:** `clm_sk_`\
    **Use for:** Server assess, payout, report fraud, merchant endpoints.\
    **Never in:** Browser or mobile bundles.
  </Card>

  <Card title="Webhook ingest" icon="inbox">
    **Prefix:** `clm_wh_`\
    **Use for:** `POST /api/webhooks/ingest` only.\
    **Not for:** Assess or SDK.
  </Card>
</CardGroup>

## Create keys

<Steps>
  <Step title="Open Conexiones">
    Sign in at [sandbox.clausum.ai](https://sandbox.clausum.ai) (or your production dashboard) → **Conexiones**.
  </Step>

  <Step title="Choose the tab">
    * **Claves API** → publishable or secret partner keys
    * **Entrada (webhooks)** → ingest key (`clm_wh_*`) and outbound webhook URL
  </Step>

  <Step title="Copy once">
    Clausum shows the full key **one time**. Store it in your secrets manager immediately.
  </Step>

  <Step title="Set CLAUSUM_API_BASE">
    Use the hostname for your stage — see [Access & environments](/concepts/access-and-environments).
  </Step>
</Steps>

<Warning>
  **Ingest** and **secret** keys are not interchangeable. Assess with `clm_wh_*` returns `401`.
</Warning>

## Default permissions

| Label       | Prefix     | Default permissions                   |
| ----------- | ---------- | ------------------------------------- |
| Publishable | `clm_pub_` | `assess`                              |
| Secret      | `clm_sk_`  | assess, fraud report, merchant scopes |
| Ingest      | `clm_wh_`  | ingest only                           |

Per-key rate limits are configurable when creating secret keys (`rate_limit_per_minute`, `rate_limit_per_day`).

## Troubleshooting

If Conexiones is empty after onboarding, contact **[api@clausum.ai](mailto:api@clausum.ai)** with your organization name — workspace provisioning may still be in progress.

## Next steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    First assess call.
  </Card>

  <Card title="Authentication" icon="lock" href="/concepts/authentication">
    Headers, permissions, errors.
  </Card>
</CardGroup>
