HTTP API reference › Gala Launchpad › api-keys
Gala Launchpad — api-keys
5 operations in this group.
- GET /v1/api-keys — List API keys
- POST /v1/api-keys — Create API key
- GET /v1/api-keys/{id} — Get API key
- DELETE /v1/api-keys/{id} — Revoke API key
- PATCH /v1/api-keys/{id} — Update API key
GET /v1/api-keys
ApiKeyController_findAll
List API keys
List all API keys for the authenticated user
Authentication: apiKeyAuth, bearer
api key auth
Responses
200 — Cursor-paginated API key metadata. Raw keys are never returned.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | ApiKeyListResponseDto | yes |
401 — Unauthorized - missing or invalid JWT or API key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
500 — Internal server error - failed to retrieve API keys from database
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
default — Shared error envelope returned by the application exception filter.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
POST /v1/api-keys
ApiKeyController_create
Create API key
Create a new API key (raw key returned only once)
Authentication: apiKeyAuth, bearer
api key auth
Responses
200 — API key created successfully. The raw key is returned only once.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | CreateApiKeyResponseDto | yes |
400 — Bad request - role is invalid (MODERATOR/TECHNICAL_PRODUCER/MANAGER/OWNER), expiresAt not valid ISO 8601, or token names invalid
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
401 — Unauthorized - missing or invalid JWT or API key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
500 — Internal server error - failed to create API key in database
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
default — Shared error envelope returned by the application exception filter.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
GET /v1/api-keys/{id}
ApiKeyController_findOne
Get API key
Get a single API key by ID
Authentication: apiKeyAuth, bearer
api key auth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
Responses
200 — API key metadata without the raw key or stored key hash.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | ApiKeyResponseDto | yes |
401 — Unauthorized - missing or invalid JWT or API key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
403 — Forbidden - user is not the API key owner
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
404 — API key not found - id parameter does not match any existing key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
500 — Internal server error - failed to retrieve API key from database
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
default — Shared error envelope returned by the application exception filter.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
DELETE /v1/api-keys/{id}
ApiKeyController_revoke
Revoke API key
Revoke an API key (soft delete)
Authentication: apiKeyAuth, bearer
api key auth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
Responses
200 — API key revoked; the success envelope has no JSON data field.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
401 — Unauthorized - missing or invalid JWT or API key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
403 — Forbidden - user is not the API key owner
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
404 — API key not found - id parameter does not match any existing key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
500 — Internal server error - failed to revoke API key in database
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
default — Shared error envelope returned by the application exception filter.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
PATCH /v1/api-keys/{id}
ApiKeyController_update
Update API key
Update API key metadata and permissions
Authentication: apiKeyAuth, bearer
api key auth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
Responses
200 — Serialized API key model returned by the current controller implementation.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | ApiKeyModelResponseDto | yes |
400 — Bad request - role is invalid, expiresAt not valid ISO 8601, or token names not found
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
401 — Unauthorized - missing or invalid JWT or API key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
403 — Forbidden - user is not the API key owner
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
404 — API key not found - id parameter does not match any existing key
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
500 — Internal server error - failed to update API key in database
Content type: application/json
Schema: ApiErrorResponseDto
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | no | Optional machine-readable error code. |
| message | string | yes | Error message. |
| statusCode | number | yes | HTTP status code. |
default — Shared error envelope returned by the application exception filter.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
Previous group: Analytics · Next group: cache-management