Account API
Endpoints Account работают с текущим пользователем, его метаданными, аватаром и выбранным workspace.
Все endpoints Account, кроме POST /api/token, требуют Authorization: Bearer <token>.
POST /api/token
POST /api/token не требует существующего header Authorization: Bearer <token>. Учетные данные provider в credentials подтверждают identity через выбранный app.
Каждый успешный запрос создает новый постоянный Bearer-токен; ранее выданный токен не переиспользуется и не возвращается. При первом успешном входе для identity сервис также может создать account и workspace.
Аргументы: path/query аргументов нет.
Тело запроса:
| Поле | Обязательное | Описание |
|---|---|---|
app | Да | Имя auth app/provider. |
credentials | Да | Учетные данные выбранного provider. |
Ответ: TokenResponse.
Пример запроса (header Authorization намеренно отсутствует):
POST /api/token
Content-Type: application/json
{
"app": "google",
"credentials": {
"credential": "<provider-issued-credential>"
}
}Пример ответа:
{
"token": "<new-bearer-token>"
}Учетные данные provider и возвращенный токен — секреты. Отправляйте их только по HTTPS; не записывайте в логи, не публикуйте и не добавляйте в commits.
GET /api/me
Возвращает текущий account, identity, tier, memberships и выбранный workspace.
Аргументы: нет.
Тело запроса: нет.
Ответ: Me.
DELETE /api/me
Удаляет текущий account.
Аргументы: нет.
Тело запроса: нет.
Ответ: OperationResult.
PUT /api/me/meta
Обновляет пользовательские метаданные.
Аргументы: нет.
Тело запроса:
| Поле | Обязательное | Описание |
|---|---|---|
nickname | Да | Отображаемое имя пользователя, 2-80 символов. Перед сохранением и возвратом удаляются начальные и конечные пробельные символы. |
Ответ: HTTP 200 OK.
| Поле | Обязательное | Описание |
|---|---|---|
nickname | Да | Сохраненный nickname без начальных и конечных пробельных символов. |
POST /api/me/avatar
Загружает avatar текущего account.
Аргументы: нет.
Тело запроса:
| Поле | Обязательное | Описание |
|---|---|---|
filename | Да | Исходное имя файла. |
contentType | Да | MIME-тип изображения. |
data | Да | Данные изображения в Base64. |
Ответ: AvatarUploadResult.
GET /api/me/workspace
Возвращает выбранный workspace текущего account.
Аргументы: нет.
Тело запроса: нет.
Ответ: CurrentWorkspaceResponse.
PUT /api/me/workspace
Меняет выбранный workspace текущего account.
Аргументы: нет.
Тело запроса:
| Поле | Обязательное | Описание |
|---|---|---|
workspace | Да | Workspace fullname или null, чтобы сбросить выбор. |
Ответ: CurrentWorkspaceResponse.
GET /api/account/settings
Возвращает account settings.
Аргументы: нет.
Тело запроса: нет.
Ответ: AccountSettings.
PUT /api/account/settings
Сохраняет account settings.
Аргументы: нет.
Тело запроса: объект settings. Конкретный набор полей зависит от текущей версии account settings UI.
Ответ: AccountSettings.