403.
api-key: <api-key>, no Bearer prefix). Required header: Melio-Entity-Id - the business to check, either an entity id (ent_<uuid>) or me for the partner’s sole entity.
Response
The response is a list ofcapabilities, one per limitable operation.
Only write operations (create, update, delete) can be limited. Read operations are always allowed and never appear in the list. New operations are added to this list over time, so treat unknown
operation values leniently rather than rejecting them.Operations
payment.domestic:write and payment.international:write are decided independently. Which one applies to a given payment is determined by the receiving account’s rail, so a business may be able to pay domestically while being blocked internationally, or the reverse. Check the one matching the payment you intend to create.payment.international:write also reports onboarding data that is still outstanding, not only risk restrictions - so it can be blocked purely because the business has not finished international onboarding yet. See International onboarding for what that involves.
Reasons
Whenallowed is false, each entry in reasons explains one blocker.
Current
code values:
Treat
code as an open set and handle unknown values gracefully. Always fall back to displaying message, which is written for a business to read.Resolving a MissingInformation reason
When the reason is MissingInformation, missingFields lists dot-paths into the entity that need to be completed. Collect and submit those fields (for example, by updating the entity), then re-check limitations.
owner.dateOfBirth is dateOfBirth on the entity’s owner. For payment.international:write, missingFields may also name beneficialOwners, which is submitted through its own endpoint rather than as an entity field.
Limitations and write errors
Limitations are the same restrictions that surface as errors when you attempt a blocked write. If a business is not eligible, the corresponding write endpoint returns:
The error message names the operation that was refused, for example
Business is not eligible to make international payments. See the limitations endpoint for details. It does not carry the reason codes - fetch GET /limitations for those.
Checking limitations first lets you avoid the 403 and tell the business exactly what to fix. See Errors for the response shape.
Staying up to date
Limitations change as a business’s risk and compliance status changes. Subscribe to theapi.limitation.updated webhook event and re-fetch GET /limitations when it fires, rather than polling.