2195 lines
62 KiB
JSON
2195 lines
62 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "OVE Messenger API",
|
|
"version": "1.0.0",
|
|
"description": "OVE Messenger user, bot, OAuth, files, calls and realtime updates API."
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://ms.ove.rs"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/register": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Регистрация аккаунта",
|
|
"description": "Регистрация аккаунта. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_register",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"email": "you@example.com",
|
|
"password": "correct horse battery staple"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/login": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Вход по паролю",
|
|
"description": "Вход по паролю. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_login",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"email": "you@example.com",
|
|
"password": "correct horse battery staple"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/email/start": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Запрос email-кода",
|
|
"description": "Запрос email-кода. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_auth_email_start",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"email": "you@example.com"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/email/verify": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Подтверждение email-кода",
|
|
"description": "Подтверждение email-кода. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_auth_email_verify",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"email": "you@example.com",
|
|
"code": "123456"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/.well-known/openid-configuration": {
|
|
"get": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "OIDC Discovery",
|
|
"description": "OIDC Discovery. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get__well_known_openid_configuration",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/.well-known/oauth-authorization-server": {
|
|
"get": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "OAuth Server Metadata",
|
|
"description": "OAuth Server Metadata. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get__well_known_oauth_authorization_server",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/oauth/jwks.json": {
|
|
"get": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Публичные ключи OIDC",
|
|
"description": "Публичные ключи OIDC. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_oauth_jwks_json",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/oauth/device_authorization": {
|
|
"post": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Запуск Device Flow",
|
|
"description": "Создает device_code, user_code и verification URI для универсального входа через Messenger.",
|
|
"operationId": "post_oauth_device_authorization",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"oauthClient": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/oauth/device": {
|
|
"get": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Страница подтверждения Device Flow",
|
|
"description": "Страница подтверждения Device Flow. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_oauth_device",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/oauth/token": {
|
|
"post": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Обмен device code на токены",
|
|
"description": "Обменивает подтвержденный device_code на OIDC access/id token. Во время ожидания возвращает authorization_pending.",
|
|
"operationId": "post_oauth_token",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"oauthClient": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/oauth/userinfo": {
|
|
"get": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Профиль OIDC",
|
|
"description": "Профиль OIDC. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_oauth_userinfo",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/oauth/device/request": {
|
|
"get": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Данные запроса входа",
|
|
"description": "Данные запроса входа. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_oauth_device_request",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/oauth/device/decision": {
|
|
"post": {
|
|
"tags": [
|
|
"OAuth"
|
|
],
|
|
"summary": "Решение пользователя",
|
|
"description": "Решение пользователя. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_oauth_device_decision",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/me": {
|
|
"get": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Текущий пользователь",
|
|
"description": "Текущий пользователь. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_me",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/account/delete": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Удаление аккаунта",
|
|
"description": "Удаление аккаунта. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_account_delete",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/username": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Установка username",
|
|
"description": "Установка username. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_username",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/name": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Изменение отображаемого имени",
|
|
"description": "Изменение отображаемого имени. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_name",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/profiles/description": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Описание профиля, бота или чата",
|
|
"description": "Описание профиля, бота или чата. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_profiles_description",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/privacy": {
|
|
"post": {
|
|
"tags": [
|
|
"Аккаунт"
|
|
],
|
|
"summary": "Настройки приватности",
|
|
"description": "Настройки приватности. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_privacy",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/contacts": {
|
|
"get": {
|
|
"tags": [
|
|
"Контакты"
|
|
],
|
|
"summary": "Список контактов",
|
|
"description": "Список контактов. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_contacts",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/contacts/add": {
|
|
"post": {
|
|
"tags": [
|
|
"Контакты"
|
|
],
|
|
"summary": "Добавление контакта",
|
|
"description": "Добавление контакта. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_contacts_add",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/contacts/delete": {
|
|
"post": {
|
|
"tags": [
|
|
"Контакты"
|
|
],
|
|
"summary": "Удаление контакта",
|
|
"description": "Удаление контакта. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_contacts_delete",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/groups": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Создание группы",
|
|
"description": "Создание группы. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_groups",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/channels": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Создание канала",
|
|
"description": "Создание канала. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_channels",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/chats/title": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Изменение названия чата",
|
|
"description": "Изменение названия чата. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_chats_title",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/channels/username": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Username канала",
|
|
"description": "Username канала. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_channels_username",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/channels/comments/settings": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Настройки комментариев канала",
|
|
"description": "Настройки комментариев канала. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_channels_comments_settings",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/channels/comments/send": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Комментарий к публикации",
|
|
"description": "Комментарий к публикации. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_channels_comments_send",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/channels/comments": {
|
|
"get": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Комментарии к публикации",
|
|
"description": "Комментарии к публикации. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_channels_comments",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/chats/members/add": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Добавление участника",
|
|
"description": "Добавление участника. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_chats_members_add",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/chats/members/remove": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Удаление участника",
|
|
"description": "Удаление участника. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_chats_members_remove",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/cloud-password": {
|
|
"post": {
|
|
"tags": [
|
|
"Безопасность"
|
|
],
|
|
"summary": "Облачный пароль",
|
|
"description": "Облачный пароль. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_cloud_password",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/cloud-password/reset": {
|
|
"post": {
|
|
"tags": [
|
|
"Безопасность"
|
|
],
|
|
"summary": "Сброс облачного пароля",
|
|
"description": "Сброс облачного пароля. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_cloud_password_reset",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sessions": {
|
|
"get": {
|
|
"tags": [
|
|
"Безопасность"
|
|
],
|
|
"summary": "Активные сессии",
|
|
"description": "Активные сессии. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_sessions",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sessions/revoke": {
|
|
"post": {
|
|
"tags": [
|
|
"Безопасность"
|
|
],
|
|
"summary": "Завершение сессии",
|
|
"description": "Завершение сессии. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_sessions_revoke",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sessions/revoke-others": {
|
|
"post": {
|
|
"tags": [
|
|
"Безопасность"
|
|
],
|
|
"summary": "Завершение других сессий",
|
|
"description": "Завершение других сессий. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_sessions_revoke_others",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/bots": {
|
|
"post": {
|
|
"tags": [
|
|
"Боты"
|
|
],
|
|
"summary": "Создание бота",
|
|
"description": "Создание бота. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_bots",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"username": "shop_helper_bot",
|
|
"name": "Shop helper"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/bots/token/reset": {
|
|
"post": {
|
|
"tags": [
|
|
"Боты"
|
|
],
|
|
"summary": "Перевыпуск bot token",
|
|
"description": "Перевыпуск bot token. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_bots_token_reset",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/e2e/key": {
|
|
"post": {
|
|
"tags": [
|
|
"E2E"
|
|
],
|
|
"summary": "Публикация E2E-ключа",
|
|
"description": "Публикация E2E-ключа. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_e2e_key",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
},
|
|
"get": {
|
|
"tags": [
|
|
"E2E"
|
|
],
|
|
"summary": "Публичный E2E-ключ",
|
|
"description": "Публичный E2E-ключ. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_e2e_key",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/e2e/backup": {
|
|
"post": {
|
|
"tags": [
|
|
"E2E"
|
|
],
|
|
"summary": "Сохранение E2E-копии",
|
|
"description": "Сохранение E2E-копии. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_e2e_backup",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
},
|
|
"get": {
|
|
"tags": [
|
|
"E2E"
|
|
],
|
|
"summary": "Резервная копия E2E",
|
|
"description": "Резервная копия E2E. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_e2e_backup",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/e2e/reset": {
|
|
"post": {
|
|
"tags": [
|
|
"E2E"
|
|
],
|
|
"summary": "Сброс E2E-ключей",
|
|
"description": "Сброс E2E-ключей. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_e2e_reset",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/wallet": {
|
|
"get": {
|
|
"tags": [
|
|
"Dastars"
|
|
],
|
|
"summary": "Баланс Dastars",
|
|
"description": "Баланс Dastars. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_wallet",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/wallet/send": {
|
|
"post": {
|
|
"tags": [
|
|
"Dastars"
|
|
],
|
|
"summary": "Перевод Dastars",
|
|
"description": "Перевод Dastars. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_wallet_send",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/wallet/history": {
|
|
"get": {
|
|
"tags": [
|
|
"Dastars"
|
|
],
|
|
"summary": "История Dastars",
|
|
"description": "История Dastars. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_wallet_history",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/call": {
|
|
"post": {
|
|
"tags": [
|
|
"Звонки"
|
|
],
|
|
"summary": "Создание звонка",
|
|
"description": "Создание звонка. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_call",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/voice-ticket": {
|
|
"post": {
|
|
"tags": [
|
|
"Звонки"
|
|
],
|
|
"summary": "Билет голосовой сессии",
|
|
"description": "Билет голосовой сессии. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_voice_ticket",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/voice/participants": {
|
|
"get": {
|
|
"tags": [
|
|
"Звонки"
|
|
],
|
|
"summary": "Участники голосовой сессии",
|
|
"description": "Участники голосовой сессии. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_voice_participants",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/voice": {
|
|
"get": {
|
|
"tags": [
|
|
"Звонки"
|
|
],
|
|
"summary": "Голосовой WebSocket",
|
|
"description": "Переключает соединение на WebSocket после получения voice ticket.",
|
|
"operationId": "get_voice",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/send": {
|
|
"post": {
|
|
"tags": [
|
|
"Сообщения"
|
|
],
|
|
"summary": "Отправка текстового сообщения",
|
|
"description": "Отправляет сообщение без медиа. Для клиентской очереди используйте стабильный client_message_id.",
|
|
"operationId": "post_send",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"to": 42,
|
|
"text": "Привет!",
|
|
"client_message_id": "0190f6d4-example"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/edit": {
|
|
"post": {
|
|
"tags": [
|
|
"Сообщения"
|
|
],
|
|
"summary": "Редактирование сообщения",
|
|
"description": "Редактирование сообщения. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_edit",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"chat_id": 42,
|
|
"message_id": 1001,
|
|
"text": "Исправленный текст"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/callback": {
|
|
"post": {
|
|
"tags": [
|
|
"Боты"
|
|
],
|
|
"summary": "Callback кнопки",
|
|
"description": "Callback кнопки. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_callback",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/reactions": {
|
|
"post": {
|
|
"tags": [
|
|
"Реакции"
|
|
],
|
|
"summary": "Emoji-реакция",
|
|
"description": "Emoji-реакция. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_reactions",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"chat_id": 42,
|
|
"message_id": 1001,
|
|
"emoji": "🔥"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/reactions/paid": {
|
|
"post": {
|
|
"tags": [
|
|
"Реакции"
|
|
],
|
|
"summary": "Платная реакция Dastars",
|
|
"description": "Переводит указанное количество Dastars автору сообщения; для бота — его владельцу. amount может быть больше 1.",
|
|
"operationId": "post_reactions_paid",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"chat_id": 42,
|
|
"message_id": 1001,
|
|
"amount": 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/read": {
|
|
"post": {
|
|
"tags": [
|
|
"Сообщения"
|
|
],
|
|
"summary": "Отметка о прочтении",
|
|
"description": "Отметка о прочтении. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_read",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/delete": {
|
|
"post": {
|
|
"tags": [
|
|
"Сообщения"
|
|
],
|
|
"summary": "Удаление сообщения",
|
|
"description": "Удаление сообщения. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_delete",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/favorite": {
|
|
"post": {
|
|
"tags": [
|
|
"Сообщения"
|
|
],
|
|
"summary": "Избранное сообщение",
|
|
"description": "Избранное сообщение. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_favorite",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/media/quote": {
|
|
"post": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Расчет стоимости медиа",
|
|
"description": "Рассчитывает единую стоимость новых вложений: сумма байтов округляется вверх до MiB один раз на сообщение.",
|
|
"operationId": "post_media_quote",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"media": [
|
|
{
|
|
"client_id": "attachment-1",
|
|
"name": "photo.jpg",
|
|
"mime": "image/jpeg",
|
|
"size": 524288
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/messages/prepare": {
|
|
"post": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Подготовка сообщения с медиа",
|
|
"description": "Атомарно резервирует оплату и выдает до 10 upload tickets. Текст и media[] опциональны по отдельности, но сообщение не может быть пустым.",
|
|
"operationId": "post_messages_prepare",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"to": 42,
|
|
"text": "Caption",
|
|
"client_message_id": "0190f6d4-media",
|
|
"media": [
|
|
{
|
|
"client_id": "attachment-1",
|
|
"name": "photo.jpg",
|
|
"mime": "image/jpeg",
|
|
"size": 524288
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/messages/commit": {
|
|
"post": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Публикация сообщения с медиа",
|
|
"description": "Проверяет все загруженные вложения, одним платежом списывает DSR и публикует или редактирует одно сообщение.",
|
|
"operationId": "post_messages_commit",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"operation_id": "message-op-1-0190f6d4-media"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/messages/cancel": {
|
|
"post": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Отмена сообщения с медиа",
|
|
"description": "Удаляет незавершенные загрузки и отменяет резерв оплаты.",
|
|
"operationId": "post_messages_cancel",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"operation_id": "message-op-1-0190f6d4-media"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/forward": {
|
|
"post": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Пересылка сообщения с медиа",
|
|
"description": "Пересылка сообщения с медиа. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_forward",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"message_id": 1001,
|
|
"to": 42,
|
|
"client_message_id": "0190f6d4-forward"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/file/ticket": {
|
|
"get": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Билет скачивания файла",
|
|
"description": "Билет скачивания файла. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_file_ticket",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/nodes/status": {
|
|
"get": {
|
|
"tags": [
|
|
"Сервис"
|
|
],
|
|
"summary": "Статус сервисных узлов",
|
|
"description": "Статус сервисных узлов. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_nodes_status",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/chats": {
|
|
"get": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Список чатов",
|
|
"description": "Список чатов. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_chats",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/chats/delete": {
|
|
"post": {
|
|
"tags": [
|
|
"Чаты"
|
|
],
|
|
"summary": "Удаление чата",
|
|
"description": "Удаление чата. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_chats_delete",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/users/ban": {
|
|
"post": {
|
|
"tags": [
|
|
"Модерация"
|
|
],
|
|
"summary": "Блокировка пользователя",
|
|
"description": "Блокировка пользователя. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_users_ban",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/users/unban": {
|
|
"post": {
|
|
"tags": [
|
|
"Модерация"
|
|
],
|
|
"summary": "Разблокировка пользователя",
|
|
"description": "Разблокировка пользователя. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_users_unban",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/history": {
|
|
"get": {
|
|
"tags": [
|
|
"Сообщения"
|
|
],
|
|
"summary": "История сообщений",
|
|
"description": "История сообщений. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_history",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/updates": {
|
|
"get": {
|
|
"tags": [
|
|
"Updates"
|
|
],
|
|
"summary": "Очередь обновлений",
|
|
"description": "Long polling событий клиента или бота. Bot updates долговечны и остаются до явного ACK.",
|
|
"operationId": "get_updates",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/updates/ack": {
|
|
"post": {
|
|
"tags": [
|
|
"Updates"
|
|
],
|
|
"summary": "Подтверждение обновлений",
|
|
"description": "Подтверждение обновлений. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "post_updates_ack",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
},
|
|
"example": {
|
|
"update_id": 2048
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/file/{id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Файлы"
|
|
],
|
|
"summary": "Скачивание файла",
|
|
"description": "Скачивание файла. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_file_id",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/health/live": {
|
|
"get": {
|
|
"tags": [
|
|
"Сервис"
|
|
],
|
|
"summary": "Проверка процесса Messenger",
|
|
"description": "Проверка процесса Messenger. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_health_live",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/health/ready": {
|
|
"get": {
|
|
"tags": [
|
|
"Сервис"
|
|
],
|
|
"summary": "Готовность Messenger",
|
|
"description": "Готовность Messenger. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_health_ready",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/metrics": {
|
|
"get": {
|
|
"tags": [
|
|
"Сервис"
|
|
],
|
|
"summary": "Метрики Messenger",
|
|
"description": "Метрики Messenger. Возвращает JSON-ответ или стандартную JSON-ошибку.",
|
|
"operationId": "get_metrics",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Успешный ответ"
|
|
},
|
|
"400": {
|
|
"description": "Ошибка запроса"
|
|
},
|
|
"401": {
|
|
"description": "Ошибка авторизации"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"securitySchemes": {
|
|
"bearerAuth": {
|
|
"type": "http",
|
|
"scheme": "bearer"
|
|
},
|
|
"oauthClient": {
|
|
"type": "http",
|
|
"scheme": "basic",
|
|
"description": "OAuth client_id/client_secret. Device Authorization Grant не имеет отдельного стандартного flow в OpenAPI 3.1; discovery доступен в /.well-known/oauth-authorization-server."
|
|
}
|
|
},
|
|
"schemas": {
|
|
"Error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|