Skip to main content

Platform API errors DALP-9300 to DALP-9399

Cause, fix, HTTP status and retry flag for every Platform API error with a code from DALP-9300 to DALP-9399.

This page lists the 19 errors the Platform API can return with a code from DALP-9300 to DALP-9399. Match the id in the error envelope to the DALP Code column, then read Retryable and Suggested Fix. The Platform API error reference explains each column, including Severity, and the DALP error index lists the page for every code range.

DALP Code
Machine name
Category
Message
Why
Suggested Fix
Severity
Retryable
HTTP Status
DALP-9302
ORDER_INTAKE_REJECTED
client
The order was refused before it reached the book.
An intake check failed, for example identity eligibility, the instrument's status, price band or size limits, desk limits, participant standing, the signed fee cap, expiry, the signature, the submission rate, a non-trading good-till-date day, time-locked units or the trading cut-off. data.reason names the check.
Correct the order against the rejection reason in the response, then submit a new signed order. When the reason is units-time-locked, sell no more than the unlocked units, or wait the seconds the response gives for the next units to unlock. When the reason is gtd-date-not-trading-day, use the nextTradingDay the response gives, or another trading day from the instrument's trading-days list.
info
No
422
DALP-9305
MARKET_STATE_INVALID
client
The instrument cannot make this transition.
The requested instrument operation is not valid for the instrument's current status, for example resuming an instrument that is not halted or halting one that is not live. The same code answers a listing or setting that breaks a venue rule. The same token is on both sides. The VWAP window is missing. The lot size is not one whole base token. A fee leg is outside 0 to 10,000 basis points. The revision changed while the request was in flight.
Read the instrument on its venue page, then issue a change its status and the venue rules allow.
info
No
409
DALP-9306
MARKET_STREAM_NOT_FOUND
client
The market-data stream could not be opened.
The stream request named an instrument this deployment does not serve.
Open the stream against a live instrument id from the instruments list.
info
No
404
DALP-9311
CANTON_PARTY_WALLET_NOT_FOUND
client
The Canton party wallet was not found.
No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.
Use a wallet id from the wallets list of the active organization.
info
No
404
DALP-9313
CANTON_NETWORK_NOT_CONFIGURED
domain
No Canton participant network is configured.
This deployment has no enabled Canton network, or none with the requested id, so the platform cannot allocate a party or submit a DAML command.
Ask an operator to add a Canton network to the platform configuration, then retry.
info
No
422
DALP-9314
CANTON_COMMAND_NO_LONGER_APPLIES
domain
The approved Canton command no longer applies.
The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.
Submit a new command. The existing approval is not reopened.
info
No
409
DALP-9315
CANTON_PROVIDER_SIGNING_DENIED
permission
The custody provider blocked this Canton signature.
The organization's custody provider refused to sign the Canton digest, so the platform stopped the submission.
Resolve the custody provider policy denial, then submit a new Canton command.
info
No
403
DALP-9318
CANTON_SUBMISSION_FAILED
dependency
Canton command submission failed.
The platform accepted the command, then submission stopped before the ledger settled it.
Read the submission's status. If it did not settle, send the command again with the same submission id.
error
No
500
DALP-9319
CUSTODY_CANTON_SIGNING_UNSUPPORTED
domain
This custody provider cannot create Canton party wallets.
The selected custody provider configuration cannot create Canton party wallets. Its provider does not offer Ed25519 key generation and digest signing, or the configuration is not managed, healthy, enabled for new accounts and activated for this Canton network. The platform does not substitute another provider.
Select a managed, healthy custody provider configuration that supports Canton signing and is activated for this Canton network.
info
No
422
DALP-9320
REPORTING_UNAVAILABLE
dependency
The reporting source could not be read.
The reporting store, object storage, Ledger Data or another source this request needs did not answer. A period with no activity is a nil return and never reports this error.
Repeat the request. If it keeps failing, check the platform database, object storage and Ledger Data health.
error
Yes
503
DALP-9321
CANTON_APPROVAL_EXPIRED
domain
The Canton command's validity window closed.
The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.
Submit the command again. The expired intent is terminal and its approval is not reopened.
info
No
410
DALP-9322
CANTON_SIGNER_NOT_ENTITLED
permission
This custody account is not enabled for Canton signing.
The signing account behind this organization is not enabled for Canton Ed25519 signing, so the platform created nothing.
Use an organization whose custody account is enabled for Canton signing, then submit the request again.
info
No
403
DALP-9323
ASSET_REFERENCE_INVALID
client
Asset reference names neither a token contract nor a Canton instrument.
The shared asset read addresses an EVM token by its contract address and a Canton instrument by its instrument id plus the instrumentAdmin party that completes the key. The path segment is not an address and no instrumentAdmin was sent, so the request names nothing the platform can look up.
Send a token contract address, or send the instrument id together with instrumentAdmin.
info
No
400
DALP-9324
ASSET_FILTER_FAMILY_MISMATCH
client
Filter names a column the asset's chain family does not have.
A shared collection under one asset, its holders or its holdings, advertises both families' columns, and the asset decides which family answers. The filter names a column from the other family, and the answering family has no such column to evaluate it against. The refusal names the field, the family, and the columns that family does publish on the collection that was read.
Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.
info
No
400
DALP-9325
CANTON_SETTLEMENT_BATCH_NOT_COVERABLE
domain
The batch's allocations do not cover its transfer legs exactly.
Every leg of a batch needs both a sender and a receiver side authorised by an allocation, and at least one leg had neither or only one, so no leg executed. The platform released the escrow it could, and data.unreleasedAllocationContractIds lists any allocation still escrowed.
Read data.uncoveredTransferLegIds and data.unauthorizedTransferLegSides, escrow the missing sides, then submit the batch again.
info
No
409
DALP-9326
OPERATION_FAMILY_UNSUPPORTED
domain
The operation is not available on the selected ledger family.
The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.
Select a family from data.supportedFamilies, then retry. An empty list means this deployment serves the operation on no family.
info
No
422
DALP-9328
CANTON_NETWORK_NOT_ENABLED
domain
The Canton network is disabled on this deployment.
The request named a Canton network this deployment is not currently running, so the platform created no intent, recorded no approval, and sent nothing to the ledger.
Ask an operator to enable the Canton network, then submit the request again. Work already accepted stays parked and resumes when the network is enabled.
info
No
422
DALP-9330
CANTON_TOKEN_OPERATION_REQUEST_INVALID
client
The token operation request does not describe a valid operation.
The request does not describe an operation the ledger can carry out. The transfer window has already passed in ledger time. The transfer is addressed to the party sending it. A contract belongs to a different instrument than the route names, or the caller's scope does not carry it. An addon's operating party is not the instrument admin. The admin does not own the treasury account alone. A feature config cannot build its module. A holding freeze names no holding or account state. The transfer id in the path differs from the body's transferInstructionContractId. The platform prepared no command.
Send an executeBefore later than the current ledger time, address a transfer to a party other than the sender, name the contracts of the instrument the route addresses, and operate an addon as its instrument admin with a treasury the admin owns.
info
No
400
DALP-9355
COLLECTION_FILTER_VALUE_INVALID
client
The filter value does not fit this field.
The filter value does not fit the field's type or the operator's shape, such as an empty list for inArray or a between value that is not a pair, so the endpoint cannot apply it.
Send a value of the field's type in the shape the operator expects, then retry.
info
No
400

The previous page is DALP-9200 to DALP-9299. The next page is DALP-9400 to DALP-9499.

Was this page helpful?