Files
2026-08-14 00:13:56 +05:00

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"
]
}
}
}
}