Request body
- Content-Type
- application/json
- Schema
- object
{
"type": "object",
"properties": {
"expiresAt": {
"type": "string",
"nullable": true,
"format": "date-time"
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"description": "Required at the service layer; empty or omitted is VALIDATION_ERROR.",
"items": {
"type": "string"
},
"enum": [
"project:read",
"project:write",
"project:manage",
"member:read",
"member:manage",
"dataset:read",
"dataset:write",
"annotation:read",
"annotation:write",
"annotation:review",
"annotation-job:manage",
"upload:read",
"upload:write",
"collection:manage",
"collection:deliver",
"workflow:read",
"workflow:run",
"workflow:manage",
"approval:read",
"approval:decide",
"algorithm:read",
"algorithm:write",
"export:read",
"export:write",
"training:read",
"training:write",
"quality:read",
"quality:write",
"recipe:read",
"recipe:manage",
"skill-taxonomy:manage",
"task:read",
"task:write",
"deployment:read",
"deployment:write",
"model-image:read",
"model-image:write",
"model-version:read",
"model-version:write",
"inference-deployment:read",
"inference-deployment:write",
"analytics:read",
"vision:annotate",
"tenant:read",
"tenant:manage",
"billing:read",
"billing:write",
"apikey:read",
"apikey:write",
"apikey:manage",
"audit:read"
]
},
"scopeAllProjects": {
"type": "boolean",
"description": "Required with projectIds: true for every project, false for projectIds only."
},
"projectIds": {
"description": "Required (non-empty) when scopeAllProjects is false.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"name"
]
}Responses
| Status | Description | Content-Type | Schema |
|---|
| 201 | Success | application/json | object |
| 400 | Bad request. Enumerated catalog codes for this operation. | application/problem+json | union |
| 401 | Authentication failed. A specific TOKEN_* cause is returned only when the presented hash matched a stored row. | application/problem+json | union |
| 403 | Authorization failed. PERMISSION_DENIED on an any-of route lists the alternatives in message. | application/problem+json | union |
| 409 | Conflict. Enumerated catalog codes for this operation. | application/problem+json | union |
| 429 | Authenticated per-principal or per-tenant request budget exceeded. Rate-limit headers appear only on 429. | application/problem+json | union |
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/CreateApiKeyResponseDto"
},
"meta": {
"type": "object",
"properties": {
"requestId": {
"type": "string"
}
},
"required": [
"requestId"
]
}
},
"required": [
"data",
"meta"
]
}{
"allOf": [
{
"$ref": "#/components/schemas/ProblemJson"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
400
]
},
"code": {
"type": "string",
"enum": [
"AUTH_PROVIDER_NOT_CONFIGURED",
"BAD_REQUEST",
"CSRF_INVALID",
"CURRENT_PASSWORD_INVALID",
"CURRENT_PASSWORD_REQUIRED",
"IDEMPOTENCY_KEY_INVALID",
"IF_MATCH_INVALID",
"OAUTH_ACCOUNT_LINK_REQUIRED",
"OAUTH_EXCHANGE_FAILED",
"OAUTH_STATE_INVALID",
"PASSWORD_POLICY_VIOLATION",
"PASSWORD_RESET_CODE_EXPIRED",
"PASSWORD_RESET_CODE_INVALID",
"PASSWORD_RESET_REQUEST_TOO_FREQUENT",
"PASSWORD_RESET_TOKEN_EXPIRED",
"PASSWORD_RESET_TOKEN_INVALID",
"PASSWORD_REUSE_NOT_ALLOWED",
"REGISTRATION_INVITATION_EXPIRED",
"SSO_NOT_CONFIGURED",
"TENANT_CONTEXT_MISMATCH",
"TENANT_REQUIRED",
"VALIDATION_ERROR"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/PublishedAuthProblem"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
401
]
},
"code": {
"type": "string",
"enum": [
"TOKEN_MALFORMED",
"TOKEN_NOT_FOUND",
"TOKEN_EXPIRED",
"TOKEN_REVOKED",
"UNAUTHORIZED",
"SESSION_EXPIRED",
"ACTIVATION_REQUIRED",
"MFA_REQUIRED"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/PublishedAuthProblem"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
403
]
},
"code": {
"type": "string",
"enum": [
"PERMISSION_DENIED",
"PERMISSION_NOT_DECLARED",
"FORBIDDEN",
"MEMBERSHIP_NOT_FOUND",
"MEMBERSHIP_DISABLED",
"MEMBERSHIP_EXPIRED",
"PROJECT_MEMBERSHIP_EXPIRED"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/ProblemJson"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
409
]
},
"code": {
"type": "string",
"enum": [
"CURRENT_SESSION_NOT_REVOCABLE",
"EMAIL_ALREADY_REGISTERED",
"IDEMPOTENCY_CONFLICT"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/PublishedAuthProblem"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
429
]
},
"code": {
"type": "string",
"enum": [
"RATE_LIMITED"
]
}
}
}
]
}