Monobank open API (v250714)

API для отримання інформації про виписки та стан особистого рахунку та рахунків ФОП. Для надання доступу потрібно пройти авторизацію у особистому кабінеті https://api.monobank.ua/ та отримати токен для персонального використання.

Якщо у вас є запитання щодо роботи API, запрошуємо до ком'юніті у Telegram-групі. API недоступне для клієнтів до 16 років, дані за дитячими рахунками доступні з батьківського акаунту. Якщо у вас є сервіс і ви хочете централізовано приєднатися до API для надання послуг клієнтам, потрібно підключитися до API для провайдерів послуг, що має більше можливостей. Якщо дані клієнтів не будуть надходити на ваші сервери або ви робите сервіс для своєї родини, використання корпоративного API необов'язкове. Розробка бібліотек або програм, які будуть використовувати клієнти особисто (дані клієнта не будуть проходити черeз вузли розробника), також не потребують використання корпоративного API.

Це надасть змогу клієнтам monobank авторизуватись у вашому сервісі (наприклад, у фінансовому менеджері) для надання інформації про стан рахунку або виписки.

У разі виявлення експлуатації цього API в якості корпоративного, банк залишає за собою право накласти санкції на компанію.

Публічні дані

Загальна інформація що надається без авторизації.

Отримання курсів валют

Отримати базовий перелік курсів валют monobank. Інформація кешується та оновлюється не частіше 1 разу на 5 хвилин.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Клієнтські персональні дані

Інформація, що надається тільки за наявстю token-а доступу, який клієнт може отримати в особистому кабінеті https://api.monobank.ua/

Інформація про клієнта

Отримання інформації про клієнта та переліку його рахунків і банок. Обмеження на використання функції не частіше ніж 1 раз у 60 секунд.

header Parameters
X-Token
required
string
Example: u3AulkpZFI1lIuGsik6vuPsVWqN7GoWs6o_MO2sdf301

Token для особистого доступу до API

Responses

Response samples

Content type
application/json
{
  • "clientId": "3MSaMMtczs",
  • "name": "Мазепа Іван",
  • "permissions": "psfj",
  • "accounts": [
    ],
  • "jars": [
    ],
  • "managedClients": [
    ]
}

Встановлення WebHook

Встановлення URL користувача:

  • Для підтвердження коректності наданої адреси, на неї надсилається GET-запит. Сервер має відповісти строго HTTP статус-кодом 200, і ніяким іншим. Якщо валідацію пройдено, на задану адресу починають надсилатися POST запити з подіями.
  • Події надсилаються у наступному вигляді: POST запит на задану адресу у форматі {type:"StatementItem", data:{account:"...", statementItem:{#StatementItem}}}. Якщо сервіс користувача не відповість протягом 5с на команду, сервіс повторить спробу ще через 60 та 600 секунд. Якщо на третю спробу відповідь отримана не буде, функція буде вимкнута. Відповідь сервера має строго містити HTTP статус-код 200.
header Parameters
X-Token
required
string

Token для особистого доступу до API

Request Body schema: application/json
webHookUrl
string

Responses

Request samples

Content type
application/json

Виписка

Отримання виписки за час від {from} до {to} часу в секундах в форматі Unix time Максимальний час за який можливо отримувати виписку 31 доба + 1 година (2682000 секунд) Обмеження на використання функції не частіше ніж 1 раз у 60 секунд.

path Parameters
account
required
string

Ідентифікатор рахунку або банки з переліків Statement list або 0 - дефолтний рахунок.

from
required
string
Example: 1546304461

Початок часу виписки.

to
string
Example: 1546306461

Останній час виписки (якщо відсутній, буде використовуватись поточний час).

header Parameters
X-Token
required
string

Token для особистого доступу до API

Responses

Response samples

Content type
application/json
[
  • {
    }
]