List accounts
Returns the entity’s accounts. Any internal Plaid account that isn’t yet verified has its verification status refreshed from Plaid before the response is returned.
const options = {
method: 'GET',
headers: {'Melio-Entity-Id': '<melio-entity-id>', 'api-key': '<api-key>'}
};
fetch('https://api.melio.com/v2/accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.melio.com/v2/accounts"
headers = {
"Melio-Entity-Id": "<melio-entity-id>",
"api-key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.melio.com/v2/accounts \
--header 'Melio-Entity-Id: <melio-entity-id>' \
--header 'api-key: <api-key>'HttpResponse<String> response = Unirest.get("https://api.melio.com/v2/accounts")
.header("Melio-Entity-Id", "<melio-entity-id>")
.header("api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.melio.com/v2/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Melio-Entity-Id"] = '<melio-entity-id>'
request["api-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.melio.com/v2/accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Melio-Entity-Id", "<melio-entity-id>")
req.Header.Add("api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"id": "acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"ownershipType": "external",
"type": "ach",
"counterPartyName": "Globex Manufacturing",
"counterPartyEmail": "[email protected]",
"bankAccount": {
"accountType": "checking",
"routingNumber": "111000025",
"accountNumberLast4": "4321"
},
"createdAt": "2026-07-08T15:05:00Z",
"updatedAt": "2026-07-08T15:05:00Z"
},
{
"id": "acct_8be01c32-9378-4aad-9f0d-229e4454259c",
"ownershipType": "external",
"type": "check",
"counterPartyName": "Initech",
"counterPartyEmail": "[email protected]",
"paperCheck": {
"printName": "Initech",
"address": {
"line1": "500 Market St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105"
}
},
"createdAt": "2026-07-08T15:05:15Z",
"updatedAt": "2026-07-08T15:05:15Z"
}
]
}Authorizations
Headers
Entity the request operates on — an entity id (ent_<uuid>) or me (the partner's sole entity).
Query Parameters
internal, external ach, check, card, domestic-wire, virtual-card Return only the account whose externalId matches (your own id).
Response
Accounts.
Hide child attributes
Hide child attributes
Opaque account id (acct_)
Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.
255^[A-Za-z0-9_-]+$Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 50 keys; each key 1 to 40 chars and may not contain square brackets ([ ], reserved for the metadata[key] filter); value ≤100 chars. Filterable via metadata[key].
Hide child attributes
Hide child attributes
100internal, external Plaid-backed internal accounts are returned as ach.
ach, check, card, domestic-wire, virtual-card, international-fx, international-gusd Present for internal accounts.
Present for external accounts.
Counterparty (payee) email. Present for external accounts.
Present for internal accounts. For ach, false while micro-deposit verification is outstanding and true once it completes. Absent for external accounts, where verification does not apply.
Present when type=check.
Hide child attributes
Hide child attributes
Address as returned in responses; fields may be absent when the stored record is incomplete.
Present when type=domestic-wire.
Hide child attributes
Hide child attributes
ABA routing number of the receiving bank
Address as returned in responses; fields may be absent when the stored record is incomplete.
Hide child attributes
Hide child attributes
Present when type=international-fx. The submitted bank identifiers are stored encrypted, so only the last four characters are returned.
Hide child attributes
Hide child attributes
ISO 4217 code the counterparty is paid in
Last four characters of the IBAN or account number on file.
Address as returned in responses; fields may be absent when the stored record is incomplete.
Hide child attributes
Hide child attributes
const options = {
method: 'GET',
headers: {'Melio-Entity-Id': '<melio-entity-id>', 'api-key': '<api-key>'}
};
fetch('https://api.melio.com/v2/accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.melio.com/v2/accounts"
headers = {
"Melio-Entity-Id": "<melio-entity-id>",
"api-key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.melio.com/v2/accounts \
--header 'Melio-Entity-Id: <melio-entity-id>' \
--header 'api-key: <api-key>'HttpResponse<String> response = Unirest.get("https://api.melio.com/v2/accounts")
.header("Melio-Entity-Id", "<melio-entity-id>")
.header("api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.melio.com/v2/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Melio-Entity-Id"] = '<melio-entity-id>'
request["api-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.melio.com/v2/accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Melio-Entity-Id", "<melio-entity-id>")
req.Header.Add("api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"id": "acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"ownershipType": "external",
"type": "ach",
"counterPartyName": "Globex Manufacturing",
"counterPartyEmail": "[email protected]",
"bankAccount": {
"accountType": "checking",
"routingNumber": "111000025",
"accountNumberLast4": "4321"
},
"createdAt": "2026-07-08T15:05:00Z",
"updatedAt": "2026-07-08T15:05:00Z"
},
{
"id": "acct_8be01c32-9378-4aad-9f0d-229e4454259c",
"ownershipType": "external",
"type": "check",
"counterPartyName": "Initech",
"counterPartyEmail": "[email protected]",
"paperCheck": {
"printName": "Initech",
"address": {
"line1": "500 Market St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105"
}
},
"createdAt": "2026-07-08T15:05:15Z",
"updatedAt": "2026-07-08T15:05:15Z"
}
]
}