Get limitations
Returns the entity’s per-operation capabilities. Each operation (named resource.subtype:action) is either allowed or, if not, lists the reasons why (for example, missing information). Only write operations can be limited; read operations are always allowed and are not listed.
const options = {
method: 'GET',
headers: {'Melio-Entity-Id': '<melio-entity-id>', 'api-key': '<api-key>'}
};
fetch('https://api.melio.com/v2/limitations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.melio.com/v2/limitations"
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/limitations \
--header 'Melio-Entity-Id: <melio-entity-id>' \
--header 'api-key: <api-key>'HttpResponse<String> response = Unirest.get("https://api.melio.com/v2/limitations")
.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/limitations")
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/limitations"
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))
}{
"capabilities": [
{
"operation": "payment.domestic:write",
"allowed": false,
"reasons": [
{
"code": "MissingInformation",
"message": "Additional information is required before this business can send payments.",
"missingFields": [
"taxInfo"
]
}
]
},
{
"operation": "account.internal:write",
"allowed": true,
"reasons": []
},
{
"operation": "account.external:write",
"allowed": true,
"reasons": []
}
]
}{
"error": {
"message": "<string>",
"details": {}
}
}Authorizations
Headers
Entity the request operates on — an entity id (ent_<uuid>) or me (the partner's sole entity).
Response
Limitations.
The business's per-operation capabilities. Every entry reports whether a write operation (create/update/delete) is allowed today and, if not, why. Only limitable operations are listed; read operations are always allowed and never appear. New operations will be added over time.
Hide child attributes
Hide child attributes
The operation a capability gates, named inline as resource.subtype:action. write covers create, update and delete; only write operations can be limited. Read operations are always allowed and are never listed. New operations will be added to this enum over time; treat unknown values leniently.
payment.domestic:write, account.internal:write, account.external:write Whether the business may perform this operation today.
The reasons this operation is not allowed. Empty when allowed is true.
Hide child attributes
Hide child attributes
Machine-readable reason code, e.g. "MissingInformation", "AccountBlocked", "AccountUnderReview", "OutstandingBalance", "LocationRestricted", "AccountUnresponsive".
Static, English-language message approved for external display.
Dot-paths into the Entity wire model that must be completed to lift this reason, e.g. "taxInfo". Empty when the reason is not about missing information.
Melio contact address for resolving this reason. Present only when a contact address is available for the limitation; omitted otherwise.
const options = {
method: 'GET',
headers: {'Melio-Entity-Id': '<melio-entity-id>', 'api-key': '<api-key>'}
};
fetch('https://api.melio.com/v2/limitations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.melio.com/v2/limitations"
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/limitations \
--header 'Melio-Entity-Id: <melio-entity-id>' \
--header 'api-key: <api-key>'HttpResponse<String> response = Unirest.get("https://api.melio.com/v2/limitations")
.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/limitations")
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/limitations"
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))
}{
"capabilities": [
{
"operation": "payment.domestic:write",
"allowed": false,
"reasons": [
{
"code": "MissingInformation",
"message": "Additional information is required before this business can send payments.",
"missingFields": [
"taxInfo"
]
}
]
},
{
"operation": "account.internal:write",
"allowed": true,
"reasons": []
},
{
"operation": "account.external:write",
"allowed": true,
"reasons": []
}
]
}{
"error": {
"message": "<string>",
"details": {}
}
}