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-keys
Headers
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-keys
Headers
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}/regenerate
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 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}/permissions
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
{
"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 |