# DALP-20000 to DALP-29999

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

This page lists the 13 errors the Platform API can return with a code from DALP-20000 to DALP-29999. 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-20064 | `PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER` | domain | The user is still the only owner of an organization. | Closing the account would leave an organization without an owner who can sign in, so the platform refuses it while the user owns any organization alone. | Make another member an owner of each organization the user owns alone, then close the account. | info | No | 409 |
| DALP-20523 | `VENUE_VAT_POLICY_INVALID` | client | The venue VAT policy is invalid. | VAT collected on chain moves each side's VAT to one recipient account in the settlement transaction, so it needs an applicable VAT policy and a recipient. Changing the on-chain switch, the recipient or the zero-rated participants is recorded with a reason. The recipient cannot be the venue or its escrow, and it must be able to receive each quote token. | Set a VAT recipient and keep the VAT policy applicable before enabling on-chain VAT, and send a reason with a change to the on-chain switch, the recipient or the zero-rated participants. | info | No | 422 |
| DALP-20524 | `VENUE_VAT_OPEN_ORDERS_BELOW_CAP` | client | Open orders were signed under a fee limit that does not cover on-chain VAT. | VAT collected on chain counts toward each order's signed fee limit. Open orders signed under the previous limit would fail at settlement with the fee above their signed maximum. | Cancel or let the open orders signed under the previous fee limit close, then switch on on-chain VAT or raise the rate again. | info | No | 409 |
| DALP-20525 | `market-data.feeds.WRITE_CANCELLED` | domain | The feed write was cancelled. | An operator cancelled the feed write in the transaction queue before it settled, so nothing was published and the platform starts no new attempt. | Send the write again with a new idempotency key if it is still wanted. | info | No | 409 |
| DALP-20531 | `platform.module.DISABLED` | domain | This module is switched off for your organization. | The licensed module this write belongs to is switched off for the caller's organization, so the organization can read its records but not change them. | Read data.module for the module, ask an organization admin to switch it on in organization settings, then retry. | info | No | 403 |
| DALP-20540 | `accounting.configuration.UNAVAILABLE` | client | Accounting configuration not found. | The active organisation has not stored an accounting configuration. | Store a configuration with PUT /api/v2/accounting/configuration. | info | No | 404 |
| DALP-20541 | `accounting.configuration.STALE` | domain | Accounting configuration changed since it was read. | The configuration changed after you read it, so expectedVersion is no longer the current version. | Read the configuration again and repeat the write with its current version. | info | No | 409 |
| DALP-20542 | `accounting.configuration.INVALID` | domain | Accounting configuration refused. | The account mapping is invalid, or the rule table cannot post against it, and `data.issues` lists each problem. | Correct every problem in `data.issues` and write the configuration again. | info | No | 422 |
| DALP-20543 | `accounting.store.ROW_INVALID` | operational | Stored accounting configuration is invalid. | A stored accounting configuration version does not have the shape this build reads. | Do not retry. Contact support with the X-Request-Id response header so the stored version can be repaired. | error | No | 500 |
| DALP-20544 | `accounting.xero.CONNECTION_NOT_FOUND` | client | Xero connection not found. | The active organisation has no Xero connection to disconnect. | Read GET /api/v2/accounting/xero/connection; connect Xero with POST on the same path first. | info | No | 404 |
| DALP-20545 | `accounting.posting.NOT_FOUND` | client | Posting record not found. | The active organisation has no posting record with this id. | List the records with GET /api/v2/accounting/postings and use an id from the list. | info | No | 404 |
| DALP-20546 | `accounting.posting.NOT_REPLAYABLE` | domain | Posting record cannot be replayed. | The record is posted, is still being posted, or lost its event payload, as `data.refusal` says, so a replay would change nothing. | Read the record again. Only a failed, unmapped or ignored record that keeps its payload can be replayed. | info | No | 409 |
| DALP-22882 | `PLATFORM_MEMBER_HOLDS_ROLES` | domain | The member still holds on-chain roles. | Removing a member ends their access to the organisation but cannot revoke a role on chain. A system or asset role granted to one of their wallets would keep working after they leave. | Revoke the member's system roles and asset roles, then remove the member again. | info | No | 409 |

The previous page is [DALP-15000 to DALP-19999](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-15000-19999). The next page is [DALP-100000 to DALP-199999](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-100000-199999).
