Entity validation
When you create an entity (POST /entities), Melio validates the submitted fields. If a field has the wrong type or fails a rule, the request returns 400 with field-level detail in the error details, naming the field and the problem. A common case is a tax-id type that does not match the business formation type.
Business eligibility (KYC, KYB, sanctions)
Melio screens the business and its owner (the owner’s name and date of birth are collected for sanctions screening). The result is exposed continuously through the limitations endpoint:allowed: true, or allowed: false with one or more reasons. A reason carries a code and, when relevant, the fields that are missing.
When eligibility changes, Melio sends
api.entity.updated and api.limitation.updated. If information or documents are missing, Melio may contact the entity directly.
Some compliance fields are fixed once the entity is created:
legalName, legalAddress, and taxInfo. Sending them in an update returns 400.What can block a payment
A payment can be stopped at several points:
The risk review is the one that can stop a payment that already looked accepted: the payment stays blocked during review, with no separate status. Device and IP signals from the Sonar SDK feed this decision.
How to react
- Check limitations first. Read
GET /limitationsbefore adding accounts or creating payments, and surfacemissingFieldsto the business. - Handle the errors. Treat
403 BUSINESS_NOT_ELIGIBLEand the400compliance errors as user-fixable, not retryable as-is. - Subscribe to the webhooks.
api.entity.updated,api.limitation.updated, andapi.payment.updatedtell you when a decision changes.
Sonar session token
The device and IP signals that feed the payment risk decision.