API ключи
Эндпоинты для управления API ключами в системе.
Получение списка API ключей
Получение полного списка API ключей.
Запрос
GET /api/api-keys
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"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"
}
]
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
api_keys | array | Массив API ключей |
id | integer | ID API ключа |
name | string | Имя API ключа |
key | string | Частично скрытый API ключ |
active | boolean | Статус активности |
created_at | string | Дата создания |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
Получение данных API ключа
Получение детальной информации о конкретном API ключе.
Запрос
GET /api/api-keys/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID API ключа |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"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": "Управление пользователями"
},
{
"id": 2,
"name": "admin.roles",
"description": "Управление ролями"
}
]
}
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
api_key | object | Объект API ключа |
id | integer | ID API ключа |
name | string | Имя API ключа |
key | string | Частично скрытый API ключ |
active | boolean | Статус активности |
created_at | string | Дата создания |
permissions | array | Массив разрешений ключа |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | API ключ не найден |
Создание API ключа
Создание нового API ключа в системе.
Запрос
POST /api/api-keys
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"name": "New API Key",
"active": true
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
name | string | Обязательный. Имя API ключа |
active | boolean | Необязательный. Статус активности |
Ответ
{
"message": "API Key создан успешно",
"api_key": {
"id": 3,
"name": "New API Key",
"key": "api_key_xxxxxxxxxxxxxxxxxxxx",
"active": true,
"created_at": "2023-03-15T12:00:00Z"
}
}
Коды ответов
Код | Описание |
---|---|
201 | API ключ успешно создан |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
422 | Неверные параметры запроса |
Обновление API ключа
Обновление данных существующего API ключа.
Запрос
PUT /api/api-keys/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID API ключа |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"name": "Updated API Key",
"active": false
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
name | string | Необязательный. Имя API ключа |
active | boolean | Необязательный. Статус активности |
Ответ
{
"message": "API Key обновлен успешно",
"api_key": {
"id": 3,
"name": "Updated API Key",
"key": "api_key_************",
"active": false,
"created_at": "2023-03-15T12:00:00Z"
}
}
Коды ответов
Код | Описание |
---|---|
200 | API ключ успешно обновлен |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | API ключ не найден |
422 | Неверные параметры запроса |
Удаление API ключа
Удаление API ключа из системы.
Запрос
DELETE /api/api-keys/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID API ключа |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"message": "API Key удален успешно"
}
Коды ответов
Код | Описание |
---|---|
200 | API ключ успешно удален |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | API ключ не найден |
Перегенерация API ключа
Создание нового значения для существующего API ключа.
Запрос
POST /api/api-keys/{id}/regenerate
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID API ключа |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"message": "API Key перегенерирован успешно",
"api_key": {
"id": 3,
"name": "Updated API Key",
"key": "api_key_xxxxxxxxxxxxxxxxxxxx",
"active": true,
"created_at": "2023-03-15T12:00:00Z"
}
}
Коды ответов
Код | Описание |
---|---|
200 | API ключ успешно перегенерирован |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | API ключ не найден |
Управление разрешениями API ключа
Изменение списка разрешений для API ключа.
Запрос
PUT /api/api-keys/{id}/permissions
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID API ключа |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"permission_ids": [1, 2, 3]
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
permission_ids | array | Обязательный. Массив ID разрешений |
Ответ
{
"message": "Разрешения API Key обновлены успешно",
"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": "Управление пользователями"
},
{
"id": 2,
"name": "admin.roles",
"description": "Управление ролями"
},
{
"id": 3,
"name": "admin.pages",
"description": "Управление страницами"
}
]
}
}
Коды ответов
Код | Описание |
---|---|
200 | Разрешения API ключа успешно обновлены |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | API ключ не найден |
422 | Неверные параметры запроса |