API Keys
Endpoints for managing API keys in the system.
Get API Keys List
Get the complete list of API keys.
Request
GET /api/api-keysHeaders
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
Response
{
"api_keys": [
{
"id": 1,
"name": "Admin API Key",
"key": "api_key_************",
"active": true,
"created_at": "2023-01-01T00:00:00Z"
},
{
"id": 2,
"name": "User API Key",
"key": "api_key_************",
"active": true,
"created_at": "2023-01-02T00:00:00Z"
}
]
}Response Fields
| Field | Type | Description |
|---|---|---|
| api_keys | array | Array of API keys |
| id | integer | API key ID |
| name | string | API key name |
| key | string | Partially hidden API key |
| active | boolean | Active status |
| created_at | string | Creation date |
Response Codes
| Code | Description |
|---|---|
| 200 | Successful request |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
Get API Key Data
Get detailed information about a specific API key.
Request
GET /api/api-keys/{id}Path Parameters
| Name | Type | Description |
|---|---|---|
| id | integer | API key ID |
Headers
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
Response
{
"api_key": {
"id": 1,
"name": "Admin API Key",
"key": "api_key_************",
"active": true,
"created_at": "2023-01-01T00:00:00Z",
"permissions": [
{
"id": 1,
"name": "admin.users",
"description": "User management"
},
{
"id": 2,
"name": "admin.roles",
"description": "Role management"
}
]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| api_key | object | API key object |
| id | integer | API key ID |
| name | string | API key name |
| key | string | Partially hidden API key |
| active | boolean | Active status |
| created_at | string | Creation date |
| permissions | array | Array of key permissions |
Response Codes
| Code | Description |
|---|---|
| 200 | Successful request |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
| 404 | API key not found |
Create API Key
Create a new API key in the system.
Request
POST /api/api-keysHeaders
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
| Content-Type | string | Required. application/json |
Request Body
{
"name": "New API Key",
"active": true
}Request Body Parameters
| Name | Type | Description |
|---|---|---|
| name | string | Required. API key name |
| active | boolean | Optional. Active status |
Response
{
"message": "API Key created successfully",
"api_key": {
"id": 3,
"name": "New API Key",
"key": "api_key_xxxxxxxxxxxxxxxxxxxx",
"active": true,
"created_at": "2023-03-15T12:00:00Z"
}
}Response Codes
| Code | Description |
|---|---|
| 201 | API key successfully created |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
| 422 | Invalid request parameters |
Update API Key
Update data of an existing API key.
Request
PUT /api/api-keys/{id}Path Parameters
| Name | Type | Description |
|---|---|---|
| id | integer | API key ID |
Headers
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
| Content-Type | string | Required. application/json |
Request Body
{
"name": "Updated API Key",
"active": false
}Request Body Parameters
| Name | Type | Description |
|---|---|---|
| name | string | Optional. API key name |
| active | boolean | Optional. Active status |
Response
{
"message": "API Key updated successfully",
"api_key": {
"id": 3,
"name": "Updated API Key",
"key": "api_key_************",
"active": false,
"created_at": "2023-03-15T12:00:00Z"
}
}Response Codes
| Code | Description |
|---|---|
| 200 | API key successfully updated |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
| 404 | API key not found |
| 422 | Invalid request parameters |
Delete API Key
Delete an API key from the system.
Request
DELETE /api/api-keys/{id}Path Parameters
| Name | Type | Description |
|---|---|---|
| id | integer | API key ID |
Headers
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
Response
{
"message": "API Key deleted successfully"
}Response Codes
| Code | Description |
|---|---|
| 200 | API key successfully deleted |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
| 404 | API key not found |
Regenerate API Key
Generate a new value for an existing API key.
Request
POST /api/api-keys/{id}/regeneratePath Parameters
| Name | Type | Description |
|---|---|---|
| id | integer | API key ID |
Headers
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
Response
{
"message": "API Key regenerated successfully",
"api_key": {
"id": 3,
"name": "Updated API Key",
"key": "api_key_xxxxxxxxxxxxxxxxxxxx",
"active": true,
"created_at": "2023-03-15T12:00:00Z"
}
}Response Codes
| Code | Description |
|---|---|
| 200 | API key successfully regenerated |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
| 404 | API key not found |
Manage API Key Permissions
Change the permissions list for an API key.
Request
PUT /api/api-keys/{id}/permissionsPath Parameters
| Name | Type | Description |
|---|---|---|
| id | integer | API key ID |
Headers
| Name | Type | Description |
|---|---|---|
| X-API-Key | string | Required. API key |
| Content-Type | string | Required. application/json |
Request Body
{
"permission_ids": [1, 2, 3]
}Request Body Parameters
| Name | Type | Description |
|---|---|---|
| permission_ids | array | Required. Array of permission IDs |
Response
{
"message": "API Key permissions updated successfully",
"api_key": {
"id": 3,
"name": "Updated API Key",
"key": "api_key_************",
"active": true,
"created_at": "2023-03-15T12:00:00Z",
"permissions": [
{
"id": 1,
"name": "admin.users",
"description": "User management"
},
{
"id": 2,
"name": "admin.roles",
"description": "Role management"
},
{
"id": 3,
"name": "admin.pages",
"description": "Page management"
}
]
}
}Response Codes
| Code | Description |
|---|---|
| 200 | API key permissions successfully updated |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions to perform request |
| 404 | API key not found |
| 422 | Invalid request parameters |