Connect a bank account
curl --request POST \
--url https://api.melso.ai/v1/companies/{company_id}/bank-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"iban": "<string>",
"currency": "EUR",
"external_id": "<string>"
}
'import requests
url = "https://api.melso.ai/v1/companies/{company_id}/bank-accounts"
payload = {
"name": "<string>",
"iban": "<string>",
"currency": "EUR",
"external_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', iban: '<string>', currency: 'EUR', external_id: '<string>'})
};
fetch('https://api.melso.ai/v1/companies/{company_id}/bank-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"currency": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"iban": "<string>",
"external_id": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "lines[0].vat_rate must be 21, 10, 4 or 0",
"code": "invalid_invoice",
"request_id": "req_01JAB3K9X2"
}{
"error": "invalid token",
"code": "unauthorized",
"request_id": "req_01JAB3K9X2"
}{
"error": "The tax return changed or is not ready for approval",
"code": "version_conflict",
"request_id": "req_01JAB3K9X2"
}Banking
Connect a bank account
Registers an account your platform holds for the company, so you can push its movements.
POST
/
companies
/
{company_id}
/
bank-accounts
Connect a bank account
curl --request POST \
--url https://api.melso.ai/v1/companies/{company_id}/bank-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"iban": "<string>",
"currency": "EUR",
"external_id": "<string>"
}
'import requests
url = "https://api.melso.ai/v1/companies/{company_id}/bank-accounts"
payload = {
"name": "<string>",
"iban": "<string>",
"currency": "EUR",
"external_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', iban: '<string>', currency: 'EUR', external_id: '<string>'})
};
fetch('https://api.melso.ai/v1/companies/{company_id}/bank-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"currency": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"iban": "<string>",
"external_id": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "lines[0].vat_rate must be 21, 10, 4 or 0",
"code": "invalid_invoice",
"request_id": "req_01JAB3K9X2"
}{
"error": "invalid token",
"code": "unauthorized",
"request_id": "req_01JAB3K9X2"
}{
"error": "The tax return changed or is not ready for approval",
"code": "version_conflict",
"request_id": "req_01JAB3K9X2"
}Preview. A contract we are building with design partners. It is not callable yet, and fields can still change. See Availability.
external_id for your own account ID.Authorizations
Your partner secret key, mk_live_… for real companies or mk_test_…
for test companies. Keep it on your servers. See
Authentication.
Headers
A unique key, such as a UUID, that makes a retried create safe. Reusing a key with a different body is refused.
Maximum string length:
255Path Parameters
The company's ID. Every company-scoped call works in exactly this company.
Body
application/json