Reference
Errors
Every API error — from every service — uses one canonical envelope. Branch on the stable type and code, not on the human-readable message.
The error envelope
{
"error": {
"type": "not_found_error",
"code": "alias_not_found",
"message": "No identity is registered for this alias.",
"param": "alias",
"request_id": "req_7k2...",
"doc_url": "https://docs.settla.network/errors/alias_not_found"
}
}| Field | Type | Description |
|---|---|---|
typeoptional | string | Broad category, aligned to the HTTP status (see below). |
codeoptional | string | Specific, stable machine code. Branch on this in your integration. |
messageoptional | string | Human-readable explanation. Do not parse it. |
paramoptional | string | The offending field, when the error is about one input. |
request_idoptional | string | req_… — also returned as the Settla-Request-Id response header. Quote it in support requests. |
doc_urloptional | string | A link to documentation for the specific code. |
Note
Every response — success or error — carries a
Settla-Request-Id: req_<22 base62> header that matches request_id in the body. Log it.HTTP status → type
Common error codes
Uniform not-found
For privacy, “does not exist” and “exists but you may not see it” return the same
404 alias_not_found in both shape and timing. Do not infer existence from a 404.