Creating an API Key
Configure your key
Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Name | Yes | A descriptive name for the key (e.g., “CI/CD Pipeline”, “Local Development”) |
| Description | No | Optional notes about the key’s purpose |
| Key Type | Yes | Service for automated systems, User for individual access |
| Permissions | Yes | Full Access or scoped to specific resources |
Using Your API Key
Include the key in theX-API-Key header with every request:
Permissions
By default, keys are created with Full Access to all resources. You can restrict a key to specific scopes using the permissions picker. Available permission scopes:| Resource | Scopes |
|---|---|
| Runs | runs:read, runs:write |
| Agents | agents:read, agents:write |
| Conversations | conversations:read, conversations:submit, conversations:delete |
| Metrics | metrics:read, metrics:write, metrics:delete |
| Test Sets | test-sets:read, test-sets:write |
| Test Cases | test-cases:read, test-cases:write |
| Personas | personas:read, personas:write, personas:delete |
| Simulations | simulations:read, simulations:write |
| Traces | traces:read, traces:write |
| Dashboards | dashboards:read, dashboards:write, dashboards:delete |
| Scheduled Runs | scheduled-runs:read, scheduled-runs:write, scheduled-runs:delete |
| Run Templates | run-templates:read, run-templates:write, run-templates:delete |
| API Keys | api-keys:read, api-keys:write, api-keys:delete |
Managing Key Status
Each key has a lifecycle status that controls whether it can authenticate requests.| Status | Description |
|---|---|
| Active | The key is working and can authenticate requests |
| Suspended | Temporarily disabled. Can be reactivated |
| Revoked | Permanently disabled. Cannot be reactivated |
Suspending a Key
To temporarily disable a key, click the actions menu (three dots) on the key row and select Suspend. Suspended keys can be reactivated at any time.Revoking a Key
To permanently disable a key, select Revoke from the actions menu. You must provide a reason. Revoked keys cannot be reactivated.Deleting a Key
To remove a key entirely, select Delete from the actions menu. This permanently removes the key record from your organization.Filtering Keys
Use the status tabs above the table to filter keys by their current status:- All — Show all keys
- Active — Only active keys
- Suspended — Only suspended keys
- Revoked — Only revoked keys
Best Practices
Use scoped permissions
Avoid full access keys in production. Scope each key to only the permissions it needs.
Rotate keys regularly
Create new keys and revoke old ones periodically, especially for production systems.
Use descriptive names
Name keys after their purpose (e.g., “GitHub Actions CI”, “Staging Environment”) so you can identify them later.
Revoke unused keys
Promptly revoke keys that are no longer in use to minimize your attack surface.
Next Steps
API Reference
Explore the full API documentation
CLI Installation
Install the Coval CLI and authenticate with your key
CLI API Keys Commands
Manage API keys programmatically from the command line
GitHub Actions
Use API keys in your CI/CD pipeline

