# DALP-14400 to DALP-14499

Source: https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-14400-14499
Cause, fix, HTTP status and retry flag for every Platform API error with a code from DALP-14400 to DALP-14499.

This page lists the 36 errors the Platform API can return with a code from DALP-14400 to DALP-14499. Match the `id` in the error envelope to the DALP Code column, then read Retryable and Suggested Fix. The [Platform API error reference](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference#how-to-use-this-reference) explains each column, including Severity, and the [DALP error index](https://docs.settlemint.com/docs/api-reference/errors) lists the page for every code range.

| DALP Code | Machine name | Category | Message | Why | Suggested Fix | Severity | Retryable | HTTP Status |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| DALP-14420 | `TERMS_ACCEPTANCE_REQUIRED` | permission | Current trading terms and risk disclosures have not been accepted. | The participant must accept each current organisation document before placing orders or withdrawing funds. | Read and accept the current terms and risk disclosure, then repeat the request. | info | No | 403 |
| DALP-14421 | `LEGAL_DOCUMENT_NOT_AUTHORIZED` | permission | This session may not administer legal documents. | Publishing legal documents or exporting participant acceptances needs an organization owner, platform admin, or identity-manager role, and the caller has none of those grants. | Use an organization-owner or platform-admin session, or a session whose active organization grants one of your wallets the identity-manager role, then retry. | info | No | 403 |
| DALP-14422 | `bankRail.cashOut.UNAVAILABLE` | client | Cash-out not found. | No cash-out with this identifier exists on the bank connection. | List the connection's cash-outs and use one of their identifiers. | info | No | 404 |
| DALP-14423 | `bankRail.cashOut.REFUSED` | domain | Cash-out refused. | The cash-out cannot be requested or decided, and `data.reason` says why: the connection is not active, sends no payment instructions or has no active token link (`connection`), the bank account is not an active account of the holder (`account`), the line is not a requested redemption of that holder on the token (`line`), the amount is not a whole number of the currency's minor units (`amount`), a delegate-mode request has no Idempotency-Key header (`idempotency-key`), the rail wallet controls no single escrow on the token's chain (`escrow`), the holder has not approved the escrow for the amount or does not hold it (`allowance`), the cash-out is not waiting for a checker (`state`), the checker requested it (`requester-cannot-decide`), its approval no longer stands (`approval`), or an unbooked cash-out has nothing the rail wallet can burn yet: it locked nothing in an escrow, the rail wallet has no next wallet staged, or no forced transfer has moved its lock to that wallet (`recovery`), an open recall of a bank credit takes tokens from the holder (`recall-open`), or the holder's participant account is suspended, closed, terminated or restricted from withdrawals, which refuses a new cash-out and a checker's approval alike (`participant-restricted`). | Read `data.reason` for the cause. In booked mode, request the redemption line from the client's linked wallet. In delegate mode, approve the rail's escrow for the amount from that wallet and send an Idempotency-Key header. Pay it to one of that client's active accounts, and ask another bank rail manager to decide a cash-out you requested. To recover an unbooked cash-out, have a token custodian force-transfer its lock to the rail wallet first. Request a cash-out the recall blocks again once the recall closes, and one a participant restriction blocks once an administrator lifts the suspension, closure or restriction on the participant's account status; a terminated account stays blocked. | info | No | 409 |
| DALP-14424 | `bankRail.cashOut.DUPLICATE` | domain | Redemption line already paid out. | Another cash-out already pays this redemption line to a different bank account, or this Idempotency-Key already requested a different cash-out. | List the connection's cash-outs to find the existing one. A line is paid out once, and a new cash-out needs an Idempotency-Key of its own. | info | No | 409 |
| DALP-14425 | `PLATFORM_ROLE_SEGREGATION_CONFLICT` | domain | The requested roles conflict. | The grant would put the auditor role and an operating role, or a pair of duties the organisation's policy keeps apart, on the same wallet. When present, `data.conflicts` names each pair and `data.reasonRequired` says whether a reason lets the grant through. | Grant the roles to separate wallets, or revoke the conflicting role first. When data.reasonRequired is true, send the same grant with a reason. | info | No | 409 |
| DALP-14426 | `CORPORATE_ACTION_QUOTE_STALE` | domain | The plan changed after this quote was read. | The holders, the balances or the terms behind the quote moved between reading the quote and committing, so the plan the commit would run is not the plan the operator reviewed. Nothing was sent on chain. | Read the quote again, review the new plan, then commit with the quoteFingerprint it returns. The quoteFingerprint in this response is the current one. | info | No | 409 |
| DALP-14427 | `CORPORATE_ACTION_QUOTE_NOT_APPLICABLE` | domain | This Corporate Action has no read-only quote. | Bond coupons, conversions and maturity redemptions complete when they are recorded, and a cash dividend or distribution declares on chain when it is recorded, so none of them has a plan to quote before that. A quote is also refused until the action's record date is reached. | Record the action with the create route. For a cash dividend or distribution, quote the recorded action once its record date has passed. For any other action, quote it again once its record date has passed. | info | No | 409 |
| DALP-14428 | `PLATFORM_THEME_LOGO_NOT_BASE64` | client | The theme logo data is not valid base64. | The `fileData` of the logo upload does not decode as base64, so no logo was stored. | Encode the logo file as base64 and send the request again. | info | No | 422 |
| DALP-14429 | `TRANSACTION_PREPARATION_PREDECESSOR_PENDING` | domain | An earlier step of this transaction chain has not completed yet. | A chained operation, such as an approval followed by a purchase, is authorized one step at a time. This step cannot be claimed until the step before it has been signed, submitted and completed on chain. | Wait for the earlier step to complete, then claim this step again. | info | Yes | 409 |
| DALP-14430 | `TRANSACTION_PREPARATION_PREDECESSOR_FAILED` | domain | An earlier step of this transaction chain failed. | A chained operation is authorized one step at a time and each step needs the one before it to complete on chain. The step before this one failed, was cancelled or was given up on, so this step can never be claimed. | Prepare the operation again to start a new chain. Check the earlier step's transaction request for the reason it failed. | info | No | 409 |
| DALP-14431 | `SETTLEMENT_INSUFFICIENT_BALANCE` | client | The wallet holds less of the payment token than the write spends. | The wallet that would sign this write holds less of the payment token than the write spends, so the payment would revert and any approval signed for it would be wasted. | Fund the wallet with the payment token, or choose a smaller amount, then retry. | info | No | 400 |
| DALP-14432 | `ANCHOR_LABEL_ACKNOWLEDGEMENT_REQUIRED` | client | This document label needs your acknowledgement before it is published. | The document label is written to a public chain with every fulfilled filing and cannot be taken back. `data.reasons` names what the label contains: the organization's name, a period, an id-like value, or a shape no filing would publish. | Choose a label that contains none of them, or send the same request again with `acknowledged` set to true to publish it as written. | info | No | 400 |
| DALP-14433 | `settlement.http.CALLER_WALLETS_REFUSED` | domain | The caller's wallets cannot be resolved. | The wallet set of the caller's account is in a state the platform cannot read, so it cannot tell which settlements belong to the caller. | Ask an administrator to repair the custody account behind the caller's wallets. | info | No | 409 |
| DALP-14434 | `CANTON_PROVIDER_CONFIGURATION_MISSING` | domain | The custody provider configuration behind this Canton party is missing. | The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it. | Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one. | info | No | 422 |
| DALP-14435 | `PLATFORM_CHAIN_READ_REFUSED` | domain | A contract this request reads refused the call. | A contract the request reads on chain reverted the call, so the request cannot run as asked; repeating it gives the same answer. | Check that the contract and its configuration on this network match what the request expects, then change the request or the contract setup. | info | No | 412 |
| DALP-14437 | `CANTON_PARTICIPANT_ID_UNAVAILABLE` | dependency | The Canton participant did not report its id. | The platform asks the Canton participant for its own id before it hosts a party, and the participant did not answer. The allocation is marked failed, and an allocation that failed is not retried under the same idempotency key. | Ask an operator to restore the Canton participant connection, then send the request under a new idempotency key. | error | Yes | 503 |
| DALP-14438 | `CANTON_NODE_IDENTITY_CHANGED` | domain | The Canton node on this network changed identity. | The node answering for this network reports a participant id other than the one that hosts the parties already registered on it, so the platform refuses to host another party there. | If the node was replaced on purpose, retire the registered Canton allocations of this network, then allocate again. Otherwise point the network at the original participant. | info | No | 409 |
| DALP-14439 | `BUNDLER_ADMISSION_THROTTLED` | permission | The bundler is not admitting operations from this caller right now. | The organization already has as many operations sent through the bundler routes waiting on this network as the deployment allows, or the bundler refuses this sender for a while after a bundle reverted on chain because one of its operations became invalid after admission. | Send the operation again later. For a sender refusal, wait the retryAfterSeconds the error carries. | info | Yes | 429 |
| DALP-14440 | `PLATFORM_PROPOSAL_NOT_FOUND` | client | The add-on proposal was not found. | No proposal with this id exists on the add-on access manager, the caller holds no role that lets them see its proposals, or no add-on access manager at this address on the system takes proposals. | List the access manager's proposals and use an id from the list. If the address has no add-on access manager, use the add-on's own access manager address. | info | No | 404 |
| DALP-14441 | `TOKEN_DEPLOYMENT_NOT_DISCARDABLE` | domain | The deployment cannot be discarded. | The deploy run does not exist in the active organization, is still running, has already been discarded, or has completed. | Discard only a failed deployment listed on the token list of this organization. | info | No | 409 |
| DALP-14442 | `PLATFORM_TABLE_VIEW_NOT_FOUND` | client | The saved table view was not found. | No saved table view with this identifier belongs to the caller, or it belongs to another person. | List the views of the table and use an identifier from the list. | info | No | 404 |
| DALP-14443 | `PLATFORM_TABLE_VIEW_NAME_EXISTS` | domain | A saved view of this table already has this name. | The caller already keeps another view of the table under the same name, ignoring case. | Choose a different name, or replace the view that already uses it. | info | No | 409 |
| DALP-14444 | `PLATFORM_TABLE_VIEW_LIMIT_REACHED` | domain | The caller saved the most views this table allows. | A person can keep at most 50 saved views of one table. | Delete a view of the table you no longer use, then save the new one. | info | No | 409 |
| DALP-14445 | `FEED_ALREADY_EXISTS` | client | A feed already exists for subject `{subject}` and topic `{topicId}`. | The feed directory holds one feed per subject and topic, and this subject and topic already resolve to a feed. | Choose a topic that has no feed, or replace or remove the existing feed before creating a new one. | info | No | 409 |
| DALP-14446 | `FEED_VALUE_NOT_POSITIVE` | client | Feed `{feedAddress}` accepts only values above zero. | The feed rejects zero and negative values, and the submitted value was zero or below. | Submit a value greater than zero. | info | No | 400 |
| DALP-14447 | `party.registry.WRITE_REVERTED` | domain | The registry contract reverted the write. | The registry contract reverted the write with a contract error this platform has no catalog entry for. | Read the transaction request for the revert data, correct the condition it names, then send the write again. | info | No | 422 |
| DALP-14448 | `PLATFORM_ORGANIZATION_NAME_TAKEN` | domain | Another organization already uses this name. | Organization names are unique among active organizations, compared without case or outer spaces. An archived organization's name is free. | Choose a different name. | info | No | 409 |
| DALP-14449 | `PLATFORM_OWNER_EXPIRY_REFUSED` | domain | The ownership change was refused. | An owner whose ownership expires can only give up their own ownership, and an owner cannot make their own ownership time-bound. | Ask an owner without an expiry to make the change. | info | No | 409 |
| DALP-14450 | `PAYMASTER_SIGNER_UNRESOLVED` | domain | The paymaster signer cannot be used for this request. | Custody refused or could not provide the signing wallet bound to this paymaster, and the same request fails again until that changes. | Resolve the custody refusal (account active, approvals decided) or rotate the paymaster signer, then retry. | info | No | 422 |
| DALP-14451 | `TOKEN_DEPLOYMENT_NOT_FINISHABLE` | domain | The deployment's setup cannot be finished. | The deploy run is not a failed deploy of this organization whose token landed and whose request was stored, or its setup is already being finished. | Finish the setup only of a failed deployment that shows a landed token and no setup in progress. | info | No | 409 |
| DALP-14452 | `TOKEN_DEPLOYMENT_FINISH_FORBIDDEN` | permission | Only the user who started this deployment can finish its setup. | Finishing the setup signs with the wallet that started the deploy, so only the user who started it, still acting from that wallet, can finish it. | Ask the user who started the deploy to finish its setup, or dismiss the deployment. | info | No | 403 |
| DALP-14453 | `TOKEN_PARTICIPANT_RESTRICTED` | domain | The participant cannot transfer securities. | Securities transfers are blocked for the participant account that owns the source wallet. When that account is the caller's own, `data` names its status, restrictions and reason. | Ask an administrator to lift the securities-transfers restriction, then send the transfer again. | info | No | 422 |
| DALP-14454 | `PLATFORM_RPC_POOL_EMPTY` | client | The RPC upstream pool cannot be empty. | The request lists no upstreams, so it would leave the network with no RPC endpoint to call. The stored pool was not changed. | List at least one upstream, or delete the pool to remove it. | info | No | 422 |
| DALP-14480 | `CORPORATE_ACTION_ENTRY_NOT_PAID` | domain | This unpaid holder is not marked paid. | Only an entry that carries a payment mark can be reopened. This entry is unpaid, or someone reopened it already. | Reload the unpaid holders list; the entry can be marked paid if the payment was made. | info | No | 409 |
| DALP-14481 | `CORPORATE_ACTION_ENTRY_MARK_CHANGED` | domain | This unpaid holder's payment mark changed. | The entry now carries a different payment mark than the one the reopen was sent for, because someone else reopened it and marked it paid again. | Reload the unpaid holders list and reopen the current mark if it is still wrong. | info | No | 409 |

The previous page is [DALP-14300 to DALP-14399](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-14300-14399). The next page is [DALP-14500 to DALP-14999](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-14500-14999).
