# DALP-0500 to DALP-0599

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

This page lists the 27 errors the Platform API can return with a code from DALP-0500 to DALP-0599. 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-0500 | `COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED` | domain | Compliance webhook signing secret rotation grace period expired. | The pending webhook signing secret expired before it was promoted to the active secret. | Start a new secret rotation and update the provider dashboard with the active webhook signing secret. | info | No | 410 |
| DALP-0501 | `COMPLIANCE_INVALID_STATE_TRANSITION` | client | Compliance provider cannot transition to the requested state. | The provider's state does not permit the operation: it is paused, revoked or not active, its status or pending secret changed meanwhile, a secret rotation is already pending, its kind does not offer the operation, or the trusted-issuers registry refused the change. | Refresh the provider and choose an operation that matches its current state. | info | No | 409 |
| DALP-0502 | `COMPLIANCE_PROVIDER_NOT_FOUND` | client | Compliance provider not found. | No active compliance provider matches the webhook URL: the provider id or URL token is unknown or wrong, the provider was revoked, or the URL names another provider kind. | Use the webhook URL the provider was given when it was created. | info | No | 404 |
| DALP-0507 | `WEBHOOK_REPLAY_RATE_LIMITED` | client | Webhook replay rate limit exceeded. | The organisation used up its per-minute allowance of webhook replays or test events, or the endpoint used up its test-event allowance. | Wait the number of seconds in `data.retryAfterSeconds`, then send the request again. | info | Yes | 429 |
| DALP-0508 | `WEBHOOK_REPLAY_RANGE_TOO_LARGE` | client | Webhook replay range is too large. | The replay range spans more blocks than one request may replay without `confirmLargeRange`. | Split the range into smaller ranges, or send `confirmLargeRange: true`, then retry. | info | No | 400 |
| DALP-0509 | `WEBHOOK_ENDPOINT_DISABLED` | domain | Webhook endpoint disabled. | The endpoint is disabled or its circuit breaker is open, so a replay onto it would never be attempted. | Re-enable the endpoint after fixing the delivery failure cause, or wait for its breaker to close, then retry the replay. | info | No | 409 |
| DALP-0510 | `WEBHOOK_SIGNING_VERIFICATION_FAILED` | auth | Webhook signature verification failed. | The receipt's signature does not verify against the endpoint's active or previous signing secret, its innerEventHash does not match the delivered payload, or its receipt window has closed. | Sign the receipt with the endpoint's current signing secret, hash the exact delivered payload, and send the receipt within the receipt window. | info | No | 401 |
| DALP-0512 | `WEBHOOK_URL_PRIVATE_RANGE` | client | Webhook endpoint URL is not allowed. | The endpoint URL is not a valid URL, or its host resolves to a private, loopback or link-local address, or outside the operator's target allow list when one is set. | Use a valid https:// URL whose host resolves only to public addresses, or ask an operator to admit its range. | info | No | 400 |
| DALP-0513 | `WEBHOOK_ENDPOINT_LIMIT_REACHED` | domain | Webhook endpoint limit reached. | The organisation already has 1,000 webhook endpoints that are not deleted, the most it may register. | Delete an unused endpoint, then create the new one. | info | No | 409 |
| DALP-0516 | `WEBHOOK_PENDING_RETARGET_REQUIRED` | client | Webhook endpoint has pending delivery attempts. | The endpoint has queued deliveries, and the request changes its URL, which re-targets them, or disables it, which cancels them, without `acknowledgePending=true`. | Wait for the queue to drain, or re-send the request with `?acknowledgePending=true` to confirm the effect on queued deliveries. | info | No | 409 |
| DALP-0517 | `WEBHOOK_FAT_ACK_INCOMPLETE` | client | Fat-event acknowledgement is missing required field paths. | A fat endpoint delivers unredacted personal data for its active subscriptions. Every `<eventType>.<fieldPath>` that the thin shape would strip must be named in `fatEventsAcknowledgment.fieldsAcknowledged` for the resulting subscription set. The acknowledgement on this request, or the stored one when the request omits it, does not cover that set, so the platform rejected the update. | Resend the PATCH with `fatEventsAcknowledgment.fieldsAcknowledged` listing every personal-data field that thin payloads remove for the resulting subscriptions and their retractions, in `<eventType>.<fieldPath>` form. The Console's switch-to-fat dialog prepares this list and records the acknowledgment. To create a fat endpoint, register it thin, then switch it with this PATCH. | info | No | 422 |
| DALP-0523 | `TOKEN_FEE_RATES_FROZEN` | domain | Transaction fee rates frozen. | Transaction fee rates are frozen on this token's fee feature. | Leave the frozen rates unchanged or configure a different token feature. | info | No | 409 |
| DALP-0524 | `REQUEST_PARTICIPANT_FORBIDDEN` | permission | The selected participant is not available. | The selected participant does not exist or cannot be assumed by the authenticated user. | Select an authorized participant or request an administrator grant. | info | No | 403 |
| DALP-0525 | `COMPLIANCE_TRANSACTION_REGISTER_FAILED` | dependency | Compliance provider rejected transaction registration. | The compliance provider's transaction-registration call failed before DALP could persist the transaction-id mapping. | Verify provider credentials and the submitted transaction fields, then retry transaction registration. | error | No | 502 |
| DALP-0526 | `WEBHOOK_ENDPOINT_NOT_FOUND` | client | Webhook endpoint not found. | No webhook endpoint with that identifier exists in the current tenant, or the endpoint has been deleted. Deleted endpoints remain as audit tombstones and are not available for new operations. | Verify the endpoint identifier belongs to the authenticated tenant. If the endpoint was deleted, create a new endpoint. | info | No | 404 |
| DALP-0527 | `WEBHOOK_DELIVERY_NOT_FOUND` | client | Webhook delivery not found. | No delivery record matches the combination of delivery identifier, endpoint identifier, and tenant, plus the event identifier on the receipt-create path. On that path, this also surfaces when the delivery's own `counterSignedReceipts` snapshot is false, meaning the feature was not enabled on the endpoint when that delivery was dispatched. | Confirm the delivery identifier and endpoint identifier are correct and belong to the authenticated tenant. List deliveries for the endpoint to retrieve valid identifiers. | info | No | 404 |
| DALP-0529 | `WEBHOOK_RECEIPT_NOT_FOUND` | client | Webhook receipt not found. | No receipt record with that identifier exists in the current tenant scope. | Verify the receipt identifier belongs to the authenticated tenant. Use the receipt list endpoint to retrieve valid identifiers. | info | No | 404 |
| DALP-0533 | `METADATA_NOT_FOUND` | client | Metadata not found. | No metadata document resolved for this hash from IPFS or the object-storage mirror within the resolution time limit. | Verify the metadata hash and retry after the metadata source has replicated. | info | No | 404 |
| DALP-0534 | `WEBHOOK_SUBSCRIPTION_INVALID` | client | Webhook subscription pattern is not recognized. | The subscription pattern does not match any registered webhook event type or documented wildcard form, or it requests retracted events without a matching source subscription that can create the rows retractions are derived from. A test event also gets this answer when it names an event reserved for internal emitters. | Use an exact registered event name, a lifecycle wildcard (\*.pending, \*.provisional, \*.final, \*.retracted, _.recalled), a prefix wildcard for a registered event family (token.transfer._), or \*. Pair every retraction pattern with a pending, provisional, or final source subscription. | info | No | 400 |
| DALP-0535 | `WEBHOOK_URL_SCHEME_REQUIRED` | client | Webhook endpoint URL must use HTTPS. | The endpoint URL uses a scheme other than HTTPS. Untrusted destinations must be HTTPS so delivery traffic is encrypted and the SSRF guard can apply its public-address policy. | Register an https:// URL, or ask an operator to add this exact origin to DALP_WEBHOOKS_TRUSTED_DESTINATIONS on a private-network install that needs plain HTTP. | info | No | 400 |
| DALP-0536 | `AUTHORIZATION_CHECK_FAILED` | dependency | The permission check could not be completed. | The authentication provider could not evaluate whether the caller holds the permission this route requires, so the platform refused the request rather than admitting or denying it on a guess. | Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable. | error | Yes | 503 |
| DALP-0537 | `WEBHOOK_IDEMPOTENCY_KEY_REUSED` | client | Webhook Idempotency-Key reused. | The Idempotency-Key already started a registration from a different request, a registration that never completed, or one whose endpoint has since been deleted. | Send a new Idempotency-Key for a new registration, and reuse a key only to retry the identical request. | info | No | 409 |
| DALP-0538 | `WEBHOOK_CREATE_IN_PROGRESS` | domain | Webhook registration still in progress. | Another request with the same Idempotency-Key is still registering its endpoint. | Retry the identical request with the same Idempotency-Key after a few seconds. | info | Yes | 409 |
| DALP-0539 | `USER_KYC_CANNOT_APPROVE_VERSION_FIELDS_NEED_CHANGES` | domain | Cannot approve version while fields "`{value}`" are missing or still need changes. | An approval must leave the version approved. A required field that is empty, a field a reviewer marked `changes_requested`, or a document an open action request still waits for keeps the version under review, so the approval is refused and writes nothing: no field verdict and no review outcome. | Wait for the investor to supply the listed fields or documents, or correct the fields with `PATCH /api/v2/users/:userId/profile`. A reviewer who did not make the correction then approves the version. | info | No | 409 |
| DALP-0540 | `WEBHOOK_REPLAY_RANGE_REVERSED` | client | Webhook replay range ends before it begins. | The replay range's `toBlock` is before its `fromBlock`. | Send a `toBlock` at or after `fromBlock`, then retry. | info | No | 400 |
| DALP-0541 | `WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE` | client | Webhook replay chain is not available for this organization. | The replay's `chainId` names a network the active organization has no network for. | Send the `chainId` of a network listed in the organization's settings, then retry. | info | No | 400 |
| DALP-0542 | `WEBHOOK_ENDPOINT_VERSION_CONFLICT` | domain | Webhook endpoint changed since you read it. | Someone else saved a change to this endpoint after you read it, so your change was not applied. | Read the endpoint again and reapply your change to its current version. | info | No | 409 |

The previous page is [DALP-0000 to DALP-0499](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-0000-0499). The next page is [DALP-0600 to DALP-0699](https://docs.settlemint.com/docs/api-reference/errors/platform-api-error-reference/dalp-0600-0699).
