POST
/api/v1/workspaces/{workspace}/apikeys Creates a new API key. The full key is only returned once on creation.
Operation ID: createAPIKey
Authentication
Use one of the following authentication options. Permissions and workspace scope still apply. See authentication and access control.
-
Authorization: Bearer YOUR_ACCESS_TOKEN -
X-API-Key: YOUR_API_KEY
Parameters
-
workspacepath required -
Workspace ID
string
Request body
Required
API key to create
Content type application/json
object
-
expires_atstring · date-time -
namestring required -
owner_emailstring -
owner_namestring -
role_idstring required -
- Allowed values
-
["admin","editor","viewer"]
Responses
201 Created API key with secret
Content type application/json
400 Bad Request
Content type application/json
401 Unauthorized
Content type application/json
403 Forbidden
Content type application/json
413 Request body exceeds the configured limit
Content type application/json
426 HTTPS required
Content type application/json
429 Request rate exceeded
Content type application/json
503 Service temporarily unavailable
Content type application/json
OpenAPI operation definition
{
"description": "Creates a new API key. The full key is only returned once on creation.",
"operationId": "createAPIKey",
"parameters": [
{
"description": "Workspace ID",
"in": "path",
"name": "workspace",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"expires_at": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"owner_email": {
"type": "string"
},
"owner_name": {
"type": "string"
},
"role_id": {
"enum": [
"admin",
"editor",
"viewer"
],
"type": "string"
}
},
"required": [
"name",
"role_id"
],
"type": "object"
}
}
},
"description": "API key to create",
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/APIKeyWithSecret"
}
}
},
"description": "Created API key with secret"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unauthorized"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Forbidden"
},
"413": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Request body exceeds the configured limit"
},
"426": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "HTTPS required"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Request rate exceeded"
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Service temporarily unavailable"
}
},
"summary": "Create API key",
"tags": [
"API Keys"
]
}