/v2 routes as an RFC 9457 problem details object, served with the application/problem+json content type:
{
"type": "https://errors.lerian.studio/v1/<error_code>",
"title": "<error_title>",
"status": <http_status>,
"detail": "<error_message>",
"code": "<error_code>"
}
Routes under
/v1 return errors as application/json with code, title, and message. Validation errors on /v1 can also carry entityType and fields.type: A URI that identifies the error type, built ashttps://errors.lerian.studio/v1/followed by the error code.title: A brief summary of the issue.status: The HTTP status code of the response.detail: Detailed guidance for resolving the error. Themessagecolumn in the table below shows the text that the API returns.%vstands for a value that the response fills in.code: A unique, stable identifier for the error.entityType: The entity the error relates to (for example,Organization). Only present when applicable.
For server-side errors (HTTP 5xx),
title and detail carry the catalog text. An unexpected error returns a generic body. Use code and type to identify the error.errors array lists each field with its problem.
Examples:
{
"type": "https://errors.lerian.studio/v1/0009",
"title": "Missing Fields in Request",
"status": 400,
"detail": "Your request is missing one or more required fields: [legalName]. Please refer to the documentation to ensure all necessary fields are included in your request.",
"code": "0009",
"entityType": "Organization",
"errors": [
{ "location": "legalName", "message": "legalName is a required field" }
]
}
{
"type": "https://errors.lerian.studio/v1/0047",
"title": "Bad Request",
"status": 400,
"detail": "The server could not understand the request due to malformed syntax. Please check the listed fields and try again.",
"code": "0047",
"errors": [
{ "location": "legalName", "message": "legalName is a required field." },
{ "location": "parentOrganizationId", "message": "parentOrganizationId must be a valid UUID" }
]
}
{
"type": "https://errors.lerian.studio/v1/0053",
"title": "Unexpected Fields in the Request",
"status": 400,
"detail": "The request body contains more fields than expected. Please send only the allowed fields as per the documentation. The unexpected fields are listed in the fields object.",
"code": "0053",
"errors": [
{ "location": "unknownField", "message": "unexpected field", "value": "..." }
]
}
Midaz errors
Refer to the following table for error codes and their descriptions:
code | title | message |
|---|---|---|
| 0002 | Ledger Name Conflict | A ledger named %v already exists in your organization. Please rename the ledger, or if you want to use the same name, consider creating a new ledger for a different division. |
| 0003 | Asset Name or Code Duplicate | An asset with the same name or code already exists in your ledger. Please modify the name or code of your new asset. |
| 0004 | Code Uppercase Requirement | The code must be in uppercase. Please ensure that the code is in uppercase format and try again. |
| 0005 | Currency Code Standard Compliance | Currency-type assets must comply with the ISO-4217 standard. Please use a currency code that conforms to ISO-4217 guidelines. |
| 0007 | Entity Not Found | No entity was found for the given ID. Please make sure to use the correct ID for the entity you are trying to manage. |
| 0008 | Action Not Permitted | The action you are attempting is not allowed in the current environment. Please refer to the documentation for guidance. |
| 0009 | Missing Fields in Request | Your request is missing one or more required fields: %v. Please refer to the documentation to ensure all necessary fields are included in your request. |
| 0012 | Account Balance Deletion Error | An account or sub-account cannot be deleted if it has a remaining balance. Please ensure all remaining balances are transferred to another account before attempting to delete. |
| 0015 | Duplicate Segment Name Error | A segment with the name %v already exists for this ledger ID %v. Please try again with a different ledger or name. |
| 0018 | Insufficient Funds Error | The transaction could not be completed due to insufficient funds in the account. Please add sufficient funds to your account and try again. |
| 0019 | Account Ineligibility Error | One or more accounts listed in the transaction are not eligible to participate. Please review the account statuses and try again. |
| 0020 | Alias Unavailability Error | The alias %v is already in use. Please choose a different alias and try again. |
| 0024 | Account Status Transaction Restriction | The current statuses of the source and/or destination accounts do not permit transactions. Change the account status(es) and try again. |
| 0029 | Invalid Parent Account ID | The specified parent account ID does not exist. Please verify the ID is correct and attempt your request again. |
| 0030 | Mismatched Asset Code | The parent account ID you provided is associated with a different asset code than the one specified in your request. Please make sure the asset code matches that of the parent account, or use a different parent account ID and try again. |
| 0032 | Invalid Country Code | The provided country code in the 'address.country' field does not conform to the ISO-3166 alpha-2 standard. Please provide a valid alpha-2 country code. |
| 0033 | Invalid Code Format | The 'code' field must be alphanumeric, in upper case, and must contain at least one letter. Please provide a valid code. |
| 0034 | Asset Code Not Found | The provided asset code does not exist in our records. Please verify the asset code and try again. |
| 0035 | Portfolio ID Not Found | The provided portfolio ID does not exist in our records. Please verify the portfolio ID and try again. |
| 0036 | Segment ID Not Found | The provided segment ID does not exist in our records. Please verify the segment ID and try again. |
| 0037 | Ledger ID Not Found | The provided ledger ID does not exist in our records. Please verify the ledger ID and try again. |
| 0038 | Organization ID Not Found | The provided organization ID does not exist in our records. Please verify the organization ID and try again. |
| 0039 | Parent Organization ID Not Found | The provided parent organization ID does not exist in our records. Please verify the parent organization ID and try again. |
| 0040 | Invalid Type | The provided 'type' is not valid. Accepted types are currency, fiat, crypto, commodity, or others. Please provide a valid type. |
| 0042 | Invalid Token | The provided token is expired, invalid or malformed. Please provide a valid token and try again. |
| 0043 | Insufficient Privileges | You do not have the necessary permissions to perform this action. Please contact your administrator if you believe this is an error. |
| 0046 | Internal Server Error | The server encountered an unexpected error. Please try again later or contact support. |
| 0047 | Bad Request | The server could not understand the request due to malformed syntax. Please check the listed fields and try again. |
| 0050 | Metadata Key Length Exceeded | The metadata key %v exceeds the maximum allowed length of %v characters. Please use a shorter key. |
| 0051 | Metadata Value Length Exceeded | The metadata value %v exceeds the maximum allowed length of %v characters. Please use a shorter value. |
| 0052 | Account ID Not Found | The provided account ID does not exist in our records. Please verify the account ID and try again. |
| 0053 | Unexpected Fields in the Request | The request body contains more fields than expected. Please send only the allowed fields as per the documentation. The unexpected fields are listed in the fields object. |
| 0055 | Asset ID Not Found | The provided asset ID does not exist in our records. Please verify the asset ID and try again. |
| 0056 | No Assets Found | No assets were found in the search. Please review the search criteria and try again. |
| 0057 | No Segments Found | No segments were found in the search. Please review the search criteria and try again. |
| 0058 | No Portfolios Found | No portfolios were found in the search. Please review the search criteria and try again. |
| 0059 | No Organizations Found | No organizations were found in the search. Please review the search criteria and try again. |
| 0060 | No Ledgers Found | No ledgers were found in the search. Please review the search criteria and try again. |
| 0064 | No Accounts Found | No accounts were found in the search. Please review the search criteria and try again. |
| 0065 | Invalid Path Parameter | One or more path parameters are in an incorrect format. Please check the following parameters %v and ensure they meet the required format before trying again. |
| 0066 | Invalid Account Type | The provided 'type' is not valid. |
| 0067 | Invalid Metadata Nesting | The metadata object cannot contain nested values. Please ensure that the value %v is not nested and try again. |
| 0068 | Operation ID Not Found | The provided operation ID does not exist in our records. Please verify the operation ID and try again. |
| 0069 | No Operations Found | No operations were found in the search. Please review the search criteria and try again. |
| 0070 | Transaction ID Not Found | The provided transaction ID does not exist in our records. Please verify the transaction ID and try again. |
| 0071 | No Transactions Found | No transactions were found in the search. Please review the search criteria and try again. |
| 0072 | Invalid Transaction Type | Only one transaction type (%v) must be specified in the '%v' field for each entry. Please review your input and try again. |
| 0073 | Transaction Value Mismatch | The values for the source, the destination, or both do not match the specified transaction amount. Please verify the values and try again. |
| 0074 | External Account Modification Prohibited | Accounts of type 'external' cannot be deleted or modified as they are used for traceability with external systems. Please review your request and ensure operations are only performed on internal accounts. |
| 0077 | Invalid Date Format Error | The 'initialDate', 'finalDate', or both are in the incorrect format. Please use the 'yyyy-mm-dd' format and try again. |
| 0078 | Invalid Final Date Error | The 'finalDate' cannot be earlier than the 'initialDate'. Please verify the dates and try again. |
| 0079 | Date Range Exceeds Limit Error | The range between 'initialDate' and 'finalDate' exceeds the permitted limit of %v months. Please adjust the dates and try again. |
| 0080 | Pagination Limit Exceeded | The pagination limit exceeds the maximum allowed of %v items per page. Please verify the limit and try again. |
| 0081 | Invalid Sort Order | The 'sort_order' field must be 'asc' or 'desc'. Please provide a valid sort order and try again. |
| 0082 | Invalid Query Parameter | One or more query parameters are in an incorrect format. Please check the following parameters '%v' and ensure they meet the required format before trying again. |
| 0083 | Invalid Date Range Error | Both 'initialDate' and 'finalDate' fields are required and must be in the 'yyyy-mm-dd' format. Please provide valid dates and try again. |
| 0084 | Duplicate Idempotency Key | The idempotency key %v is already in use. Please provide a unique key and try again. |
| 0085 | Account Alias Not Found | The provided account Alias does not exist in our records. Please verify the account Alias and try again. |
| 0086 | Race condition detected | A race condition was detected while processing your request. Please try again |
| 0087 | Transaction Revert already exist | Transaction revert already exists. Please try again. |
| 0088 | Transaction is already a reversal | Transaction is already a reversal. Please try again |
| 0089 | Transaction can't be reverted | Transaction can't be reverted. Please try again |
| 0090 | Transaction ambiguous account | Transaction can't use the same account in sources and destinations |
| 0091 | ID cannot be used as the parent ID | The provided ID cannot be used as the parent ID. Please choose a different one. |
| 0093 | Balance cannot be deleted | Balance cannot be deleted because it still has funds in it. |
| 0094 | Unmarshalling error | invalid value for field '%v': expected type '%v', but got '%v' |
| 0095 | Message Broker Unavailable | The server encountered an unexpected error while connecting to Message Broker. Please try again later or contact support. |
| 0096 | Invalid Account Alias | The alias contains invalid characters. Please verify the alias value and try again. |
| 0098 | Invalid Pending Transaction | External accounts cannot be used for pending transactions in source operations. Please check the accounts and try again. |
| 0099 | Invalid Transaction Status | The transaction status does not allow the requested action. Please check the transaction status. |
| 0101 | Operation Route Not Found | The provided operation route does not exist in our records. Please verify the operation route and try again. |
| 0102 | No Operation Routes Found | No operation routes were found in the search. Please review the search criteria and try again. |
| 0103 | Invalid Operation Route Type | The provided 'operationType' is not valid. Accepted types are 'source', 'destination', or 'bidirectional'. Please provide a valid type. |
| 0104 | Missing Operation Routes in Request | Your request must include at least one operation route of each type (debit and credit). Please refer to the documentation to ensure these fields are properly populated. |
| 0105 | Transaction Route Not Found | The provided transaction route does not exist in our records. Please verify the transaction route and try again. |
| 0106 | No Transaction Routes Found | No transaction routes were found in the search. Please review the search criteria and try again. |
| 0107 | Operation Route Linked to Transaction Routes | The operation route cannot be deleted because it is linked to one or more transaction routes. Please remove the operation route from all transaction routes before attempting to delete it. |
| 0108 | Duplicate Account Type Key Value Error | An account type with the specified key value already exists for this organization and ledger. Please use a different key value or update the existing account type. |
| 0109 | Account Type Not Found Error | The account type you are trying to access does not exist or has been removed. |
| 0110 | No Account Types Found | No account types were found in the search. Please review the search criteria and try again. |
| 0111 | Invalid Account Rule Type | The provided 'account.ruleType' is not valid. Accepted types are 'alias' or 'account_type'. Please provide a valid rule type. |
| 0112 | Invalid Account Rule Value | The provided 'account.validIf' is not valid. Please provide a string for 'alias' or an array of strings for 'account_type'. |
| 0113 | Corrupted Account Rule | The account rule data in the operation route is internally inconsistent (unknown rule type or malformed validIf value). This indicates a data integrity issue — please verify the operation route configuration. |
| 0114 | Transaction Route Not Informed | The transaction route is not informed. Please inform the transaction route for this transaction. |
| 0115 | Invalid Transaction Route ID | The provided transaction route ID is not a valid UUID format. Please provide a valid UUID for the transaction route. |
| 0116 | Accounting Route Count Mismatch | The operation routes count does not match the transaction route cache. Expected %v source and %v destination operations, but the route has %v source, %v destination, and %v bidirectional operation routes. |
| 0117 | Accounting Route Not Found | The operation route ID '%v' was not found in the transaction route cache for operation '%v'. Please verify the route configuration. |
| 0118 | Accounting Alias Validation Failed | The operation alias '%v' does not match the expected alias '%v' defined in the accounting route rule. |
| 0119 | Accounting Account Type Validation Failed | The account type '%v' does not match any of the expected account types %v defined in the accounting route rule. |
| 0120 | Invalid Characters | The field 'keyValue' contains invalid characters. Use only letters, numbers, underscores and hyphens. |
| 0121 | Invalid Future Date Error | The 'transactionDate' cannot be a future date. Please provide a valid date. |
| 0122 | Invalid Field for Pending Transaction Error | Pending transactions do not support the 'transactionDate' field. To proceed, please remove it from your request. |
| 0123 | Duplicated Alias Key Value Error | An account alias with the specified key value already exists for this organization and ledger. Please use a different key value. |
| 0124 | Additional Balance Creation Not Allowed | Additional balances are not allowed for external account type. |
| 0125 | Invalid Transaction Value | Negative or zero transaction values are not allowed. The 'send.value' must be greater than zero. |
| 0127 | Account Creation Failed | The account could not be created because the default balance could not be created. Please try again. |
| 0128 | Transaction Backup Cache Failed | The server encountered an unexpected error while adding the transaction to the backup cache. Please try again later or contact support. |
| 0129 | Transaction Backup Cache Marshal Failed | The server encountered an unexpected error while serializing the transaction for the backup cache. This uses the same backup mechanism. Please try again later or contact support. |
| 0131 | Invalid Datetime Format Error | The '%v' parameter is in the incorrect format. Please use the '%v' format and try again. |
| 0132 | Metadata Index Already Exists | A metadata index with the same key already exists for this entity. Please use a different key from the existing index. |
| 0133 | Metadata Index Not Found | The specified metadata index does not exist. Please verify the index name and try again. |
| 0137 | Metadata Index Deletion Forbidden | System indexes cannot be deleted. Please ensure you are deleting a custom metadata index. |
| 0138 | Invalid Entity Name | The provided entity name is not valid. |
| 0139 | Transaction Backup Cache Retrieval Failed | The transaction could not be retrieved from the backup cache internal function. Please ensure the transaction exists in the cache before processing balances. |
| 0140 | Invalid Timestamp | The provided timestamp '%v' is invalid. Timestamps cannot be in the future. |
| 0141 | No Balance Data at Date | No balance data is available at the specified date. |
| 0142 | Missing Required Query Parameter | The required query parameter '%v' is missing from the request. |
| 0143 | Payload Too Large | The request payload exceeds the maximum allowed size of 64KB. |
| 0144 | JSON Nesting Depth Exceeded | The JSON payload exceeds the maximum allowed nesting depth of 10 levels. Please flatten your data structure. |
| 0145 | JSON Key Count Exceeded | The JSON payload exceeds the maximum allowed number of keys (100). Please reduce the number of keys in your payload. |
| 0146 | Tenant Not Provisioned | Database schema not initialized for this tenant. Contact your administrator. |
| 0147 | Unknown Settings Field | The settings contain an unknown field: '%v'. Only known settings fields are allowed. |
| 0148 | Invalid Settings Field Type | The settings field '%v' has an invalid type. Expected %v. |
| 0149 | Settings Field at Root Level | The settings field '%v' must be nested under '%v'. Expected structure: {"%v": {"%v": value}}. |
| 0150 | Route Not Bidirectional | The operation route does not allow bidirectional transactions. Only routes with operation type 'bidirectional' can be reverted. |
| 0151 | Missing Counterpart | Route '%v' requires at least one debit and one credit operation (counterpart validation). |
| 0152 | Direction Route Mismatch | Operation direction '%v' is not compatible with route operation type '%v' for operation '%v'. |
| 0153 | No Source for Action | The action '%v' requires at least one source operation route. Please add a source route for this action. |
| 0154 | No Destination for Action | The action '%v' requires at least one destination operation route. Please add a destination route for this action. |
| 0157 | No Routes for Action | No routes found for action '%v'. Please configure operation routes for this action in the transaction route. |
| 0158 | Too Many Operation Routes | The number of operation routes exceeds the maximum allowed. Please reduce the number of operation routes and try again. |
| 0159 | Service Suspended | service is %v for tenant %v |
| 0160 | Tenant Not Found | tenant not found: %v |
| 0161 | Tenant Service Unavailable | failed to resolve tenant %v |
| 0162 | Scenario Not Allowed For Direction | The accounting scenario is not allowed for the specified operation direction. %v |
| 0163 | Reserve Group Incomplete | The reserve group (hold, commit, cancel) must be complete. %v |
| 0164 | Direct Scenario Required | The direct scenario is required when other scenarios are present. %v |
| 0165 | Revert Only Bidirectional | The revert scenario is only allowed for bidirectional operation routes. %v |
| 0166 | Accounting Entry Field Required | A required field is missing in the accounting entry. %v |
| 0167 | Overdraft Limit Exceeded Error | The transaction could not be completed because it would exceed the configured overdraft limit for the balance. Please reduce the amount or increase the overdraft limit and try again. |
| 0168 | Direct Operation On Internal Balance Error | Direct operations on internal-scope balances are not permitted. Internal balances are managed exclusively by the system. Please target a transactional balance and try again. |
| 0169 | Deletion Of Internal Balance Error | Internal-scope balances cannot be deleted. They are managed by the system and must remain for accounting consistency. |
| 0170 | Reserved Balance Key Error | The balance key %v is reserved for system use and cannot be created through the public API. Please choose a different key and try again. |
| 0171 | Invalid Balance Direction Error | The balance direction %v is not supported. Allowed values are "credit" and "debit". |
| 0172 | Invalid Balance Settings Error | The balance settings payload is invalid. Please review overdraft, limit, and scope fields and try again. |
| 0173 | Overdraft Limit Below Usage Error | The new overdraft limit is below the amount currently used. Raise the limit above the current usage or repay the outstanding amount before reducing the limit. |
| 0174 | Stale Balance Version Error | The balance was modified by another transaction between read and write. Please retry the operation after reading the latest balance state. |
| 0175 | Update Of Internal Balance Error | Internal balances are system-managed and cannot be updated through the public API. They are maintained by the system for accounting consistency. |
| 0176 | Invalid Settings Field Value | The settings field '%v' has an invalid value. Allowed values are: %v. |
| 0177 | Transaction Reservation Denied Error | The transaction could not be completed because it would exceed a configured usage limit. Please reduce the amount or wait for the limit window to reset and try again. |
| 0178 | Transaction Reservation Unavailable Error | The transaction could not be completed because the usage-limit service is temporarily unavailable and this ledger is configured to reject transactions when it cannot be reached. Please retry shortly. |
| 0180 | Invalid fee priority | The priority field in fees is invalid. Field can not be repeated. |
| 0182 | minimumAmount greater than maximumAmount | minimumAmount value is greater than maximumAmount. |
| 0183 | Nothing to Update | No updatable fields were provided. Please include at least one field to update. |
| 0184 | Package already exists | A package already exists in the same scope with the same minimumAmount and maximumAmount. |
| 0185 | Invalid header parameter | One or more header parameters are in an incorrect format. Please check the following parameters %v and ensure they meet the required format before trying again. |
| 0186 | Failed to calculate fee | Failed to calculate the fee for the transaction. Please check the fee configuration and try again. |
| 0187 | Missing calculation model | The calculation model is required for fee %v. |
| 0188 | originalAmount is required when priority is one | For Priority equals to one, referenceAmount must be 'originalAmount' for fee %v. |
| 0189 | Failed to apply rule: flatFee or percentual | applicationRule flatFee or percentual must have exactly 1 calculation for Fee %v. |
| 0190 | Invalid calculation type: percentual | The calculation type percentual must be 'percentage' for Fee %v. |
| 0191 | Invalid calculation type: flatFee | The calculation type flatFee must be 'flat' for Fee %v. |
| 0192 | Missing required fee fields | All fields of a new Fee must be filled. Please check again the payload passed. |
| 0193 | Calculation field is required for fee | Please fill the Calculation object correctly. All calculation fields must be filled. |
| 0194 | referenceAmount is not valid | Field reference amount must be originalAmount or afterFeesAmount. |
| 0195 | Invalid applicationRule | Field application rule must be maxBetweenTypes, flatFee or percentual. |
| 0196 | Invalid calculation type | Field calculation type must be percentage or flat. |
| 0197 | maximumAmount less than minimumAmount | maximumAmount value is less than minimumAmount. |
| 0198 | Package filtering error | More than one fee package matches this transaction at the same specificity, so none of them can be applied. Re-scope one of these packages: %v. |
| 0199 | Package amount range overlap | The maximumAmount and minimumAmount of the new package overlap with the amount range of an existing package. |
| 0200 | Failed to distribute values | Failed to distribute the transaction values. Please check the data passed. |
| 0201 | Failed to apply rule: maxBetweenTypes | applicationRule maxBetweenTypes must have more than 1 calculation for Fee %v. |
| 0202 | Invalid segmentID | The specified segmentID is not a valid UUID. Please check the value passed. |
| 0204 | Error to convert values | The value of the field %v is invalid. Remember to use dot (.) as decimal separator instead of comma (,). Example: use 1000.50 instead of 1000,50. |
| 0205 | originalAmount is required when isDeductibleFrom is true | For isDeductibleFrom `true`, referenceAmount must be 'originalAmount' for fee %v. |
| 0206 | applicationRule invalid value | applicationRule is invalid, Err: %v. |
| 0207 | calculation value percentage invalid | Calculation value is invalid, it cannot exceed 100%. Please check the calculation value for Fee %v. |
| 0208 | calculation value flat invalid | Calculation value is invalid, it cannot exceed the minimum amount %v. Please check the calculation value for Fee %v. |
| 0210 | deductible value forbidden | Can not update deductible value to true. The calculation value is bigger than 100% for Fee %v. |
| 0211 | deductible value forbidden | Can not update deductible value to true. Calculation value is bigger than the minimum amount %v for Fee %v. |
| 0212 | Invalid Page | Query parameter page is invalid. The page must be greater than 0. |
| 0213 | Billing package not found | No billing package was found for the given ID '%v'. |
| 0214 | Invalid billing package type | The billing package type is invalid. Valid types are 'volume' and 'maintenance'. |
| 0215 | Missing volume fields | Volume billing packages require: eventFilter (transactionRoute, status), pricingModel, tiers, assetCode, debitAccountAlias, and creditAccountAlias. |
| 0216 | Missing maintenance fields | Maintenance billing packages require: feeAmount, assetCode, maintenanceCreditAccount, and accountTarget. |
| 0217 | Invalid pricing model | The pricing model is invalid. Valid models are 'tiered' and 'fixed'. |
| 0218 | Invalid pricing tier | Pricing tier configuration is invalid: %v. |
| 0219 | Billing route overlap | A billing package already exists for this organization, ledger, and transaction route combination. |
| 0221 | Billing calculation failed | Failed to calculate billing: %v |
| 0224 | Invalid billing period | The billing period format is invalid. Use 'YYYY-MM' (monthly), 'YYYY-Www' (weekly, e.g. '2026-W13'), or 'YYYY-MM-DD' (daily) format (e.g., '2026-01' or '2026-01-15'). |
| 0225 | Invalid free quota | The free quota value is invalid. Must be a non-negative integer. |
| 0226 | Invalid discount tier | Discount tier configuration is invalid. Each tier must have minQuantity and discountPercentage between 0 and 100. |
| 0227 | Invalid count mode | The count mode is invalid. Valid modes are 'perRoute' and 'perAccount'. |
| 0229 | Invalid account target | The account target is invalid. Exactly one of segmentId, portfolioId, or aliases must be provided. |
| 0230 | Invalid fee amount | The fee amount is invalid. It must be a positive value greater than zero. |
| 0231 | Segment context unavailable | Segment-based waivers are configured but the resolution service is not available. This is an internal configuration issue. |
| 0233 | Deductible fee exceeds the amount it deducts from | A deductible fee cannot be applied because it meets or exceeds the amount it is deducted from, which would leave the recipient with nothing or a negative balance. Reduce the fee, increase the transfer amount, or exempt the account. |
| 0235 | Query Parameter Not Accepted | The query parameter '%v' is not accepted on this endpoint because the request path already names the ledger. Please remove it and try again. |
| 0249 | Cross-Ledger Not Enabled Error | Ledger %v is not enabled for cross-ledger transactions. Enable crossLedger.enabled on every ledger involved. |
| 0250 | Cross-Ledger Asset Mismatch Error | Cross-ledger transactions must use the same asset on every leg. |
| 0251 | Cross-Organization Route Validation Unsupported Error | Cross-ledger transactions that span more than one organization are not supported when accounting route validation is enabled on a participating ledger, because accounting routes belong to a single organization. |
| 0252 | Cross-Ledger Lifecycle Requires V2 Error | A transaction that belongs to a cross-ledger group must be committed, canceled, or reverted through the v2 API so the complete group is transitioned atomically. |
| 0253 | Cross-Ledger Group Incomplete Error | The cross-ledger transaction group is incomplete and cannot be transitioned safely. |
| 0254 | Cross-Ledger Group Not Pending Error | The cross-ledger transaction group is %v and can no longer be committed or canceled. |
| 0255 | Cross-Ledger Route Not Configured Error | The transaction could not be completed because route validation is enabled on a participating ledger but the transaction route has no operation route with a crossLedger accounting entry for the cross-ledger bridge. Link a bidirectional operation route with a crossLedger entry to the transaction route and try again. |
| 0256 | Invalid Cross-Ledger Route Error | The cross-ledger bridge route must resolve to exactly one operation route. %v |
| 0336 | Metadata Key Invalid Chars | Metadata key contains invalid characters. |
| 0484 | Route Not Found | The requested route does not exist. Please verify the HTTP method and path and try again. |
| 0485 | Method Not Allowed | The HTTP method is not allowed for the requested route. Please verify the method and try again. |
| 0486 | Transaction Locked | This transaction is currently being processed by another request. Please retry shortly. |
| 0488 | Instrument Ledger Reference Not Found | The ledger referenced by this instrument does not exist in this organization. Please provide a ledgerId that belongs to the organization and try again. |
| 0489 | Instrument Account Reference Not Found | The account referenced by this instrument does not exist in the referenced ledger. Please provide an accountId that belongs to the ledger and try again. |
| 0490 | Skip Not Permitted | The %v skip requested for this operation is not permitted on this ledger. Enable the matching ledger override to allow it, or remove the skip from your request. |
| 0491 | Holder Required | This ledger requires every account to name an existing holder. Please provide a valid holderId and try again. |
| 0492 | Overdraft Route Not Configured Error | The transaction could not be completed because route validation is enabled but the accounting route applied to the overdraft operation does not define an overdraft entry for the required direction. Configure an overdraft accounting entry on the operation route and try again. |
| 0497 | Request Header Fields Too Large | The request header fields are too large. Please reduce the size of the request headers and try again. |
| 0498 | Invalid Dashboard Window | Invalid dashboard window: use period (7d, 30d, 90d) or start_date/end_date (RFC3339, at most 90 days apart), never both. |
| 0499 | Transaction Scope Mismatch | Every leg of the transaction must name the same organization and ledger. Please review your input so that all legs share one scope and try again. |
| 0500 | Invalid Account Type Direction | The field 'defaultDirection' has an invalid value. Use one of the allowed values: credit or debit. |
| 0501 | Schema Migration Pending | The request could not be completed because a pending database migration has not been applied to this database yet. Please retry shortly. |
| 0502 | Account Blocked | A source and/or destination account involved in this transaction is blocked and cannot transact. Unblock the account and try again. |
| 0503 | Missing Account Block Exceptions | The 'exceptions' field must carry at least one exception. Please provide the exceptions to create and try again. |
| 0504 | Account Block Exception Batch Too Large | The 'exceptions' field accepts at most 100 items per request. Please split the batch and try again. |
| 0505 | Invalid Account Block Exception Amount | The 'amount' of the exception at index %v must be a positive decimal value. Please verify the amount and try again. |
| 0506 | Invalid Account Block Exception TTL | The 'ttl' of the exception at index %v must be between 1 and 86400 seconds. Please verify the ttl and try again. |
| 0507 | Account Block Exception Alias Not Found | The 'accountAlias' of the exception at index %v does not exist in this ledger: %v. No exception was created. Please verify the alias and try again. |
| 0508 | Invalid Account Block Exception | The 'accountBlockExceptionId' presented does not exist, has expired or has already been used, or does not authorize this transaction's source account and debited amount. Please create a new exception and try again. |
| 0509 | Account Block Exception Not Supported | The 'accountBlockExceptionId' field is not accepted on the %v operation. Please present it on the direct, commit or revert operation instead. |
| 0511 | Transaction Already Transitioned | The transaction has already been committed or canceled, so the requested transition cannot run again. Please check the transaction status. |
| 0512 | Reserved Metadata Key | The metadata key %v is reserved by the ledger, which writes it itself. Please remove it from your request and try again. |
| 0513 | Balance Seed Rebuild Inconsistent Error | The request could not be completed because the current state of this balance could not be established from its operation history. Please retry shortly. |
| 0514 | Invalid Transaction Batch Cardinality | The transaction batch contains %v items, but it must contain between 1 and %v items. Please adjust the 'transactions' array and try again. |
| 0515 | Transaction Batch Input Leg Limit Exceeded | The transaction batch contains %v input debit and credit legs, exceeding the maximum of %v. Please reduce the number of legs and try again. |
| 0516 | Transaction Batch Budget Exceeded | The transaction batch exceeds the %v budget at transaction index %v: observed %v, maximum %v. Please reduce the batch work and try again. |
| 0517 | Invalid Transaction Batch | One or more transactions in the batch failed structural validation. Check errors for details. |
| 0518 | Account Closing Persistence Pending Error | The account cannot be closed yet because earlier work on it has not finished being persisted. No transaction is reapplied; please try again shortly. |
| 0519 | Account Closed Error | The operation could not be completed because the account is closed. A closed account accepts no further movements, and unblocking it does not reopen it. |
| 0520 | Account Closing Protection Indeterminate Error | The request could not be completed because the state of this account could not be established. Please retry shortly. |
| 0521 | Account Already Closed Error | The account is already closed and cannot be closed again. The recorded closing instant is preserved; please review the account state and try again if this was unexpected. |
| 0522 | Account Closing In Progress Error | A closing of this account is in progress. Please wait for it to conclude and try again. |
| 0523 | Account Balance Not Zero Error | The account cannot be closed because at least one of its balances still holds available funds, funds on hold or used overdraft. Please settle every balance to exactly zero and try again. |
| 0524 | Account Has Pending Transactions Error | The account cannot be closed because a pending transaction still holds its funds. Please commit or cancel those transactions and try again. |
| 0525 | Authorization Service Unavailable | The request could not be completed because the authorization service did not respond. Please retry shortly. |
| 0526 | Account Administrative Operation In Progress Error | Another operation on this account is in progress. Please try again shortly. |
| 0527 | Balance Has Open Fee Debt Error | A balance that still owes pending fees cannot be deleted, and its account cannot be deleted or closed. Please credit the balance so the pending fees are collected and try again. |
| 0528 | Balance Owed Fee Debt Error | A balance that other balances still owe pending fees to cannot be deleted, and its account cannot be deleted or closed. Please credit the balances that owe those fees so they are collected and try again. |
| 0529 | Fee Debt Record Pending Error | The pending fees this transaction touches have not finished being recorded. No transaction is reapplied; please try again shortly. |
| 0530 | Deductible fee cannot be deferrable | Fee %v is deducted from the payment (isDeductibleFrom true), so it cannot be deferrable. Set deferrable to false or isDeductibleFrom to false. |
| 0531 | Transaction Reservation Review Error | The transaction was flagged for review by a transaction validation rule, or a rule could not be evaluated for it, and this ledger enforces tracer decisions. Review the tracer rules or the ledger tracer settings. |
| 0532 | Transaction Reservation Rejected Error | The usage-limit service rejected the reservation request for this transaction. Verify that the asset, account type and transaction date are accepted by the tracer configuration. |
| 0535 | Transaction Reservation Rule Denied Error | The transaction was denied by a transaction validation rule and this ledger enforces tracer decisions. Review the tracer rules or the ledger tracer settings. |
| 0536 | Transaction Reservation Unauthorized Error | The tracer reservation seam rejected this ledger's credential and the ledger enforces tracer decisions with a closed fail posture. Check the ledger's Access Manager client and the tracer's allowed clients. |
| 0539 | Block And Unblock Cannot Be Reverted | Block and unblock transactions cannot be reverted. Use an unblock to undo a block, or a block to undo an unblock. |
| 0541 | Operation Route Both Required and Optional | The operation route %v is listed in both operationRoutes and optionalOperationRoutes. Each linked operation route must be either required or optional. |
| 0542 | Balance State Unavailable | The current state of this balance could not be read. Please retry shortly. |
| CRM-0006 | Holder ID Not Found | The provided holder ID does not exist in our records. Please verify the holder ID and try again. |
| CRM-0008 | Instrument ID Not Found | The provided instrument ID does not exist in our records. Please verify the instrument ID and try again. |
| CRM-0010 | Document Association Error | A document can only be associated with one holder. |
| CRM-0013 | Account Already Associated | An accountId from ledger can only be associated with a single related account on CRM. |
| CRM-0017 | Unable to Delete Holder | The holder cannot be deleted because it has one or more associated aliases. |
| CRM-0023 | Alias Closing Date Before Creation Date | The alias closing date cannot be before the creation date. Please provide a valid closing date. |
| CRM-0024 | Related Party Not Found | The specified related party does not exist. Please verify the related party ID and try again. |
| CRM-0025 | Invalid Related Party Role | The provided related party role is not valid. Accepted roles are: PRIMARY_HOLDER, LEGAL_REPRESENTATIVE, or RESPONSIBLE_PARTY. |
| CRM-0026 | Related Party Document Required | The related party document is required. Please provide a valid document. |
| CRM-0027 | Related Party Name Required | The related party name is required. Please provide a valid name. |
| CRM-0028 | Related Party Start Date Required | The related party start date is required. Please provide a valid start date. |
| CRM-0029 | Related Party End Date Invalid | The related party end date must be after the start date. Please provide a valid end date. |
| CRM-0030 | Unable to Delete Holder | The holder cannot be deleted because it owns one or more active accounts. |
| CRM-0038 | Provisioning Failed | The provisioning operation failed. Please try again later. |
| CRM-0041 | Reserved Tenant ID | The tenant id "default" is reserved for internal single-tenant use and cannot be used as a tenant identifier. Please use a different tenant id and try again. |
| CRM-0042 | Invalid Instrument Account Type | The provided instrument account type is not valid. Accepted values are: DEPOSIT, SAVINGS, INVESTMENT, OTHER_FINANCIAL_INVESTMENTS, NON_RESIDENT, or PAYMENT. |
| CRM-0043 | Bank Account Already Registered | This bank account is already registered to another instrument in this organization: the same bankId and account, on the same branch or where one of them has no branch. Use that instrument, or delete it before registering the account again. |
Authentication and tenant refusals
A request that authentication refuses returns a code from the authorization layer, not a Midaz code:
| HTTP status | code | title |
|---|---|---|
| 401 | AUT-0006 | Token Missing |
| 401 | AUT-0007 | Invalid Token |
| 403 | AUT-1020 | Permission Denied |
| 503 | AUT-0033 | Authorization Server Unavailable |
| 504 | AUT-1021 | Authorization Server Timeout |
| HTTP status | code | title |
|---|---|---|
| 403 | TENANT_SUSPENDED | Service Suspended |
| 403 | TENANT_ACCESS_DENIED | Access Denied |
| 503 | TENANT_MANAGER_UNAVAILABLE | Tenant Manager Unavailable |
| 504 | TENANT_MANAGER_TIMEOUT | Tenant Manager Timeout |
0042, 0043, or 0525 only for a refusal that carries no code of its own.
