Purpose
The API Keys page is where you create and manage the keys that external systems — most often a CRM — use to trigger outbound calls without signing in. Each key is created once, copied immediately, and then managed from this list: you can deactivate it, re-activate it, or delete it. Open it from the dashboard sidebar, or go directly to/dashboard/api-keys.
This page covers the dashboard view — creating and managing keys. For how a CRM actually uses a key to place calls (the endpoint, headers, and request body), see CRM API keys.
What you see
Each key appears as a row with these columns:| Column | What it shows |
|---|---|
| Name | The name you gave the key when you created it. |
| Key | The first few characters of the key followed by •••• (for example ori_2x8...••••). The full key is never shown here — only this masked prefix, so you can tell keys apart without exposing them. |
| Status | A badge showing whether the key works right now: Active, Inactive, or Expired. See Status badges. |
| Expires | The key’s expiry date, or -- if it never expires. |
| Last Used | How long ago the key was last used (for example “2 hours ago”), or -- if it has never been used. |
| Created | The date the key was created. |
| Actions | The Toggle and Delete buttons for that key. |
Status badges
| Badge | Meaning |
|---|---|
| Active (green) | The key is switched on and not expired. It can be used to trigger calls. |
| Inactive (red) | The key has been switched off with the toggle. It is rejected on every request until you switch it back on. |
| Expired (grey) | The key’s expiry date has passed. It can no longer be used. |
Search
| Field | What to enter | Required |
|---|---|---|
| Search | Type any part of a key’s name or its masked prefix to filter the list. | No |
Buttons
| Button | Where | What happens when you click |
|---|---|---|
| Create API Key | Top of the page (and on the empty state) | Opens the Create API key dialog where you enter a name and an optional expiry. See Create a key. |
| Toggle | On each key row | Switches the key between active and inactive. The Status badge updates immediately and a toast confirms “Key activated” or “Key deactivated”. The button is disabled while the change is saving. |
| Delete | On each key row | Opens a confirmation dialog before permanently removing the key. See Delete a key. |
Create a key
Fill in the fields
| Field | What to enter | Required | Default |
|---|---|---|---|
| Name | A name that identifies who or what will use the key, for example CRM Integration. This is shown in the Name column. | Yes | — |
| Expires At | An optional expiry date. Pick a date to have the key stop working automatically after it, or leave it blank for a key that never expires. | No | No expiry |
Click Create Key
Ori generates the key. The dialog closes and the Key created dialog opens with the full key. (Click Cancel instead to close without creating anything.)
Copy the key immediately
Copy the full key from the Key created dialog and store it somewhere safe — see The key is shown only once.
Create API key dialog buttons
| Button | What happens when you click |
|---|---|
| Cancel | Closes the dialog without creating a key. |
| Create Key | Creates the key (after checking that Name is filled in) and opens the Key created dialog. |
The key is shown only once
After you click Create Key, the Key created dialog shows the full key in a copyable box, with this warning:This key won’t be shown again. Copy it now and store it securely.This is the only time the full key is ever displayed. Once you close this dialog, the list shows only the masked prefix (for example
ori_2x8...••••). If you lose the key, you cannot recover it — you have to create a new one and update wherever the old one was used.
Key created dialog buttons
| Button | What happens when you click |
|---|---|
| Copy | Copies the full key to your clipboard. The button briefly shows a tick for about two seconds to confirm the copy worked. |
| Done | Closes the dialog and returns to the key list, where the new key now appears with its masked prefix. |
This dialog cannot be dismissed by clicking outside it or pressing Escape — you must click Done. This is deliberate, so you do not lose the key by accidentally closing the dialog before copying it.
Delete a key
Clicking the Delete button on a key row opens a confirmation dialog titled Delete API Key:Are you sure you want to delete “[key name]”? Any system using this key will immediately lose access.
| Button | What happens when you click |
|---|---|
| Cancel | Closes the dialog and keeps the key. Clicking outside the dialog also cancels. |
| Delete | Permanently removes the key and refreshes the list. |
Empty and no-result states
| Situation | What you see |
|---|---|
| No keys created yet | A message — “No API keys yet” with the text “Create an API key to allow external systems to trigger outbound calls” — and a Create API Key button to get started. |
| Search matches nothing | The list reads No API keys found. Clear or change the search term to see your keys again. |
| Loading | The table shows a loading spinner with a “Loading…” message while keys are fetched. |
Next steps
Use a key from a CRM
The endpoint, headers, and request body for triggering calls.
Set the dialout payload
Pass customer variables into the call.