1. API Reference
  2. API Keys
  3. Create an API key
Website
  • API overview
  • API quickstart
  • Authentication
  • Project scoping
  • Requests and responses
  • Pagination and filtering
  • Errors
  • GETList supported database engines
  • POSTList projects
  • POSTCreate a project
  • GETGet a project
  • DELETEDelete a project
  • PATCHUpdate a project
  • POSTCreate a source
  • POSTList sources
  • GETGet source details
  • DELETEDelete a source
  • PATCHUpdate a source
  • POSTCreate secret metadata
  • POSTList secret metadata
  • GETGet secret metadata
  • DELETEDelete secret metadata
  • PATCHUpdate secret metadata
  • POSTCreate a schedule
  • POSTList schedules
  • POSTSummarize schedule statuses
  • GETGet a schedule
  • DELETEDelete a schedule
  • PATCHUpdate a schedule
  • DELETERemove a schedule gate
  • POSTActivate or pause a schedule
  • POSTQueue a manual check
  • POSTCreate an immutable report
  • POSTList reports
  • GETGet report details
  • DELETEDelete a report
  • POSTDownload a report
  • POSTGet the API-key scope catalog
  • POSTCreate an API key
  • POSTList API-key metadata
  • GETGet API-key metadata
  • DELETEDelete an API key
  • PATCHUpdate API-key metadata
  • POSTCreate a notification channel
  • POSTList notification channels
  • POSTResolve notification channels by ID
  • GETGet notification channel details
  • DELETEDelete a notification channel
  • PATCHUpdate a notification channel
  • POSTSend a test notification
  • POSTCreate a project worker
  • POSTList project workers
  • GETGet worker details
  • DELETEDelete a worker
  • PATCHUpdate a worker
  • POSTRead live worker agent logs
  • POSTList checks
  • POSTSummarize check statuses
  • GETGet check details
  • POSTGet check log sections
  • POSTDownload a check log
  • POSTDownload check audit evidence
  • POSTList notification messages
  • GETGet notification message details
POST/api-keys

Create an API key

Interactive-session operation. API keys cannot create other keys. The plaintext api_key is returned exactly once.

Send request

Use the documented inputs to call this endpoint directly.

API serverbase URL

Request body

application/jsonrequired
project_idrequired
namestringrequired
descriptionstringoptional
scopesarray<>required
expires_onstring · daterequired

UTC date from today through at most three years in the future.

Responses

201application/json

API key created; store the plaintext secret immediately.

{
  "status": "success",
  "data": {
    "id": "65f0c7a9a7d6b4e2c1234567",
    "api_key": "rtk_FAKE_EXAMPLE_VALUE_DO_NOT_USE_1234567890"
  }
}
400application/json

The request body, parameter, filter, cursor, or project-scoping pattern is invalid.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
401application/json

Authentication is missing or the credential is invalid, inactive, expired, or lacks the required scope.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
403application/json

The authenticated caller is not allowed to perform this operation.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
409application/json

The requested change conflicts with the resource's current state or dependencies.

{
  "status": "error",
  "message": "string",
  "code": "string",
  "detail": {},
  "quota": {
    "key": "string",
    "limit": 1,
    "used": 1
  },
  "feature": "string",
  "dependency": "string"
}
statusstringrequired
messagestringrequired
codestringoptional

Stable machine-readable code when the error defines one.

detailobjectoptional
quotaoptional
featurestringoptional
dependencystringoptional
Get the API-key scope catalog< PreviousList API-key metadataNext >

Powered by heyo

curl --request POST \  '/v1/api-keys' \  --header 'Content-Type: application/json' \  --data '{  "project_id": "65f0c7a9a7d6b4e2c1234567",  "name": "string",  "description": "string",  "scopes": [    "v1.checks:read"  ],  "expires_on": "2026-01-01"}'
{  "status": "success",  "data": {    "id": "65f0c7a9a7d6b4e2c1234567",    "api_key": "rtk_FAKE_EXAMPLE_VALUE_DO_NOT_USE_1234567890"  }}